TQ2440开发板学习纪实(1)---最简单的独立运行汇编程序

本文记录了在TQ2440开发板上,通过编写小于4KB的汇编程序,利用stepping stone内存区域,实现最简单的独立运行程序,目标是点亮开发板上的LED灯。项目包括start.s、start.lds和Makefile三个文件,通过U-boot将程序烧录到NandFlash并启动,成功实现了LED1的点亮。源码中包含中断向量表的设置,以及关闭看门狗和中断的步骤。
摘要由CSDN通过智能技术生成

0 如何做到简单

TQ2440开发板,采用的CPU是三星S3C2440,核心板附加了2MB运行ROM和64MB运行RAM,并且搭配了64MB的Nand Flash。而S3C2440直接支持从NandFlash启动,其原理就是加电后,CPU内使用硬件逻辑把NandFlash开头的4KB数据复制到片内称之为stepping stone的特殊内存中。这个特殊的stepping内存只有在设置为Nandflash启动时才可见,且只有4KB大小,内存地址范围为0x00000000-0x00000FFF。

就是这小小的4KB的stepping stone给了我们创造最简单独立程序的机会,只要我们保证最终生成的程序小于4KB,就可以完美地运行在这个stepping stone里面。而且基本不需要初始化任何硬件,CPU的硬件逻辑已经可以执行程序。尽管此时的CPU主频很低、SDRAM尚未可用、堆栈尚未初始化,然而这些都不影响我们的程序运行。

为了感受到程序的运行,我们实现的功能是点亮开发板上的第一个LED灯。

1 项目源码

项目很简单,由三个文件组成:

.
├── Makefile
├── start.lds
└── start.s

start.s

.equ WTCON,     
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值