ARM裸板程序的开发和编译(以点亮LED灯为例)

本文通过实例介绍了如何使用交叉编译工具链编译ARM裸板程序,以点亮LED灯为例,讲解了Nor Flash、片内内存、地址空间等概念,以及启动模式、异常处理和堆栈设置等关键步骤,最终成功在GT2440开发板上实现LED灯的控制。
摘要由CSDN通过智能技术生成

制作好交叉编译工具链后,怎么确定是否有效呢,当然是编译一个程序烧写到板上跑一下了。这里我们以点亮LED灯为例描述如何使用我们制作的交叉编译工具链编译裸板程序。

首先,需要了解下Nor flash,Nand flash,片内内存,片外内存,地址空间这几个概念。其中,Nor flash是CPU可以直接通过硬件信号读取的,不需要配置,但是Norflash的写操作是需要配置和实现驱动的。片内内存不需要配置,CPU可以直接通过硬件信号读写。这是因为Nor flash和片内内存在硬件设计上就已经固化了他们的电气特性。而Nand flash的读写都必须配置,并且需要实现驱动。CPU通过相应的Nand flash控制器间接的读写数据。片外内存的读写也是需要配置的,通过内存控制器进行配置,配置好后CPU就可以发出合适的硬件信号进行直接读写。

        通常,Nor flash,片内内存,片外内存是统一编址的,他们在CPU的地址空间内,而Nand flash是独立编址的。原因就是前面的描述,CPU无法直接访问Nand flash的地址。S3C2440的地址空间如下,注意,不同启动模式下,片内内存(Internal SRAM)的地址是不一样的。


这里的地址空间只是存储器的地址空间,还有CPU内部的寄存器地址空间,这些地址也是可以直接访问的,同常在高位地址。S3C2440的寄存器地址空间为0x4800000~0x5fffffff。

因为Norflash和片内内存不需要配置就可以读取&

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值