Toggle navigation
首页
问答
IT问答
生活问答
电脑知识
百科
测评
S3C2410A复位后执行的第一条指令存放首地址是什么?
发布于2022-01-13 03:53:29
1
个回答
网友回答
2022-01-13
下面是我个人的一点认知,希望对你有帮助。1、从nor flash启动则存在地址0x00000000,也就是说要用FLASH做程序启动,FLASH必须放BANK0,且地址从0x0开始,你可以直接在nor flash 中运行程序,也可把程序用自己写在启动代码拷入SDRAM运行。2、若从NAND FLASH启动,则存放在NAND FLASH的开始区域,上电后系统会硬拷贝到内部的4KBRAM运行。下面是我写的一个直接从nor启动的程序代码:只有init.s与led.c两个文件,我调试过,运行正常ADS环境参数设置中把:RO-BASE设为0x00000000,RW-BASE设为0x30000000(根据具体硬件来定)image entry point 设为:0x00000000,设置好的合令为:-info totals -entry 0x00000000 -ro-base 0x00000000 -map -symbols -rw-base 0x31000000 -first init.o(Init) -xrefinit.s文件内容: AREA Init,CODE,READONLY ;该伪指令定义了一个代码段,段名为Init,属性只读 ENTRY ;程序的入口点标识ResetEntry ldr sp,=0x31000000 ;定义堆栈指针(根据具体硬件来定) IMPORT Main ;声明主函数Main BL Main ;调用主函数 END ;程序结束符 led.C代码:/*led.c*/ /*用GPB5~GPB8控制四个发光二极管闪烁*/#define GPBCON (*(volatile unsigned *)0x56000010) //Port B control#define GPBDAT (*(volatile unsigned *)0x56000014) //Port B data#define GPBUP (*(volatile unsigned *)0x56000018) //Pull-up control B void Main(void) { int i; GPBCON &= ~((0x3
IT问答最新文章
1
荣耀50有红外遥控功能吗
2
OPPO A93 特别卡怎么办?
3
输入的时候手机键盘不间断的快速闪烁是怎么回事,根本输入不了。怎么解决?
4
华为手机cpu型号麒麟930 935的有哪几款
5
iphone6开机白苹果后黑屏是怎么回事
6
万利达笔记本电脑怎么样?
7
万利达酷奔笔记本电脑怎么样?
8
谁知道万利达笔记本电脑下载学习资料网啊
9
window10安装字体为何不显示
10
苹果手机充电器可以和苹果电脑相互吗
相关阅读
1
S3C2410A复位后执行的第一条指令存放首地址是什么?
2
尼康D800E为什么在A档下没法调节光圈大小
3
Intel 酷睿i5 3470(盒)+华硕P8Z77-M PRO+海盗船8GB DDR3 1600套装这样配可以吗?
回到
顶部