历史上的今天
返回首页

历史上的今天

今天是:2024年10月12日(星期六)

正在发生

2018年10月12日 | OK6410裸机学习第四天:4th_leds_params

2018-10-12 来源:eefocus

start.S文件:

.globl _start

_start:

1、硬件相关的设置:把外设的基地址告诉CPU 

 0 ~ 0x6fff ffff为内存的地址空间,0x7000 0000 ~ 0x7fff ffff为外设寄存器的地址空间

   

    ldr r0, =0x70000000

    orr r0, r0, #0x13

    mcr p15,0,r0,c15,c2,4       @ 256M(0x70000000-0x7fffffff)

    

2、关看门狗 ,往WTCON(0x7E004000)写0 

    ldr r0, =0x7E004000

    mov r1, #0

    str r1, [r0]

3、设置栈,nand flash启动的时候,一上电硬件会强制性的把前8K的内容复制到内存里,

      我们的程序比较小小于8K,所以可以把堆栈指针指向8K以外的空间即可,           

      只要那部分内存没有被使用既可以                                             

      在调用C函数之前必须设置栈,调用汇编函数之前不用设置栈                      

    ldr sp, =8*1024

    mov r0, #9

    bl xxxxx

halt:

    b halt

====================================================================

led.c文件:

void delay(int count)

{

    volatile int i = count;

    while (i--);

}

int xxxxx(int start)

{

    int i = start;

    volatile unsigned long *gpmcon = (volatile unsigned long *)0x7F008820;

    volatile unsigned long *gpmdat = (volatile unsigned long *)0x7F008824;

    *gpmcon = 0x1111;                           //gpm0,1,2,3设为输出引脚 

    while (1)

    {

        *gpmdat = i;

        i++;

        if (i == 16)

            i = 0;

        delay(0x10000);

    }

    return 0;

}

====================================================================

Makefile文件:

led.bin: start.o led.o

    arm-linux-ld -Ttext 0 -o led.elf start.o led.o

    arm-linux-objcopy -O binary led.elf led.bin

    arm-linux-objdump -D led.elf > led.dis

start.o : start.S

    arm-linux-gcc -o start.o start.S -c -O2

led.o : led.c

    arm-linux-gcc -o led.o led.c -c -O2

clean:

    rm *.o led.elf led.bin led.dis


推荐阅读

史海拾趣

Arco Electronics公司的发展小趣事

Arco Electronics公司深知品牌建设对于企业发展的重要性。因此,公司投入大量资源用于品牌建设和市场推广。公司通过与知名企业合作、赞助行业展会等方式提升品牌知名度;同时,还积极运用新媒体进行线上推广,与消费者建立更紧密的联系。这些举措有效地提升了Arco的品牌形象和市场影响力。

DAPAudio公司的发展小趣事

DAPAudio深知产品质量对于企业长远发展的重要性。因此,公司投入大量资源用于提升产品的品质和生产效率。通过严格的质量控制流程和持续的技术创新,DAPAudio的产品在音质、稳定性和耐用性方面均达到了行业领先水平。这一努力不仅赢得了客户的信赖,也树立了公司高品质的品牌形象。

诚芯微(CXW)公司的发展小趣事

在2009年,诚芯微(CXW)公司在深圳成立,标志着其在中国电子行业的初步涉足。公司创始人凭借对集成电路设计领域的深刻理解和前瞻性的市场洞察,决定专注于电源芯片的研发与设计。初期,公司面临着资金紧张、技术储备不足等挑战,但创始人带领团队坚持自主研发,逐步积累了技术实力。

Crane Connectors公司的发展小趣事

随着国内市场的逐步饱和,Crane Connectors公司开始将目光投向国际市场。公司制定了详细的国际化战略,包括设立海外分支机构、拓展销售渠道、加强与国际知名企业的合作等。通过不断努力,公司的产品逐渐打入欧美、东南亚等地区的电子市场,实现了销售收入的快速增长。国际化战略的成功实施,不仅提升了公司的国际影响力,也为公司的长远发展奠定了坚实的基础。

FEMA Electronics Corporation公司的发展小趣事

FEMA始终将产品质量视为企业的生命线。为了确保产品质量的稳定可靠,公司建立了一套完善的质量管理体系,并引进了先进的生产设备和技术。同时,FEMA还注重员工的培训和素质提升,确保每一个生产环节都能达到最高的质量标准。正是凭借这种对品质的执着追求,FEMA的产品在市场上赢得了良好的口碑和声誉,逐渐成为了行业内的知名品牌。

European Crystal Org公司的发展小趣事

为了进一步扩大市场份额,ECO开始积极寻求国际合作。公司与国际知名电子制造商建立了战略合作关系,共同研发和推广新产品。这些合作不仅为ECO带来了更多的订单和收入,还提升了公司的国际知名度。同时,ECO还积极参加国际电子展会和论坛,展示公司的技术实力和产品优势。

问答坊 | AI 解惑

无线网络 --常见标准有以下三种

IEEE 802.11a :使用5GHz频段,传输速度54Mbps,与802.11b不兼容 IEEE 802.11b :使用2.4GHz频段,传输速度11Mbps IEEE 802.11g :使用2.4GHz频段,传输速度54Mbps,可向下兼容802.11b 目前IEEE 802.11b最常用,但IEEE 802.11g更具下一代标准 ...…

查看全部问答>

帮我解释一下 德州电子 CC2430 点对点 实例程序

我在网上下载了一个源代码是基于CC2430的zigbee 点对点的实例通信代码,但是看不懂, 能不能帮我解释一下程序的大致框架和实现原理,诸如 hal层 cul层 是实现什么的,程序如何工作的?十分感谢了 TI(德州仪器公司)的CC2430芯片的库函数以及一些 ...…

查看全部问答>

ARM7 NXP236串口问题,请教高手

串口0为片内自带的,初始化的时候,U0FCR这个寄存器总是写不进去值,请教高手~~~ 附代码:[code] INT8U UART0_Init( INT32U baudrate) {     INT32U Fdiv;                 PINSEL0 &= 0 ...…

查看全部问答>

谁有VGA-DB15的封装资料帮我发一份

现在要画一个DB15的封装不知道参数,知道的大侠帮下!!!!!!!!!!!…

查看全部问答>

【问TI】如何能让大家更好的利用M3的板子?

        对于TI的M3系列的开发板,普及率还不是很高,为什么这么说?我主要参考了淘宝里的开发板的销售情况,发现其他公司,尤其是现在比较热的××公司,你只要到淘宝上一搜,遍地都是。这里面良莠不齐,难免 ...…

查看全部问答>

AM335x NAND Driver's Guide中文手册改1

AM335x NAND Driver\'s Guide中文手册改1…

查看全部问答>

视频编解码芯片电源问题

在视频编解码芯片中既有模拟电源又有数字电源,要完全的物理隔离呢?还是只需简单的串联磁珠、电阻等。谢谢…

查看全部问答>

ADI ADC PCB 硬件设计指南

HARDWARE DESIGN TECHNIQUES Prototyping Analog Circuits Evaluation Boards Noise Reduction and Filtering for Switching Power Supplies Low Dropout References and Regulators EMI/RFI Considerations Sensors and Cable Shielding …

查看全部问答>

下载程序出现了这样的错误,麻烦大神帮忙看看

MSP430: Trouble Writing Memory Block at 0x0 on Page 0 of Length 0x4: Could not perform access, BSL memory segments are protected. MSP430: GEL: File: D:\\workspace_v5_2\\12864\\Debug\\12864.out: Load failed.…

查看全部问答>

经网友两次指点,我终于找到了这里:求温度和流量传感器得到的信息怎么显示在液晶屏上

我在传感器板块发了这么一个帖子(开始我连发什么板块都不知道,觉得用到了传感器,所以应该发传感器吧) ------------------------------------------------------------------------------------------ 我从来没搞过开发,不过想自己DIY点东西 ...…

查看全部问答>