天嵌 ARM开发社区

 找回密码
 注册
查看: 2844|回复: 9

请教:麻烦大家进来看看裸奔启动的问题

[复制链接]
qiguibao 发表于 2009-11-17 23:28:45 | 显示全部楼层 |阅读模式
最近一直在做裸奔实验。有几个问题:
1.s3c2440从nand启动后,把代码读到外接ram中,然后在外接ram中运行。此时,我知道外接ram中含有所有的代码,其中包括异常向量表。请问这时用的是异常向量表是片内ram中的,还是外接ram中的?
2.做裸奔实验时,如果打算从nand启动,请问ADS设置时,RO BASE应该设置为0x0000 0000,还是0x3000 0000?
亚瑟王 发表于 2009-11-18 14:46:37 | 显示全部楼层
1、异常向量表是放到SDRAM中的,也就是你说的外接RAM;
2、如果大于了4K,就用0x30000000或者0x30000000开始的位置;小于4K用0x0。
 楼主| qiguibao 发表于 2009-11-18 23:55:20 | 显示全部楼层
1、异常向量表是放到SDRAM中的,也就是你说的外接RAM;
2、如果大于了4K,就用0x30000000或者0x30000000开始的位置;小于4K用0x0。
亚瑟王 发表于 2009-11-18 14:46

继续提问:1.我知道nand中的代码会被全部读到外接ram中,但是如果运行的过程中,有异常发生的话,系统会自动跳到0x0处,而外接ram的起始地址为0x30000000,请问这是如何处理的?这时会用到片内ram吗?
2.天嵌的2440init.s中,是不是无论代码的大小都会把代码读到外接ram中运行,也就是说ADS中应该设置为RO BASE=0x30000000?
deluca 发表于 2009-11-19 09:00:53 | 显示全部楼层
这个4k的限制是指编译后的bin file德大小么?
deluca 发表于 2009-11-19 09:03:04 | 显示全部楼层
我现在自己的程序通过uboot 控制台选7 load到nand flash运行没有问题,但是用a 选项load到nand flash,在开机就白屏。 什么原因啊
亚瑟王 发表于 2009-11-19 12:33:17 | 显示全部楼层
5楼的:
1、命令7是下载到内存中运行而不是Nand Flash中;
2、在Nand Flash中运行白屏,串口有什么打印信息呢?镜像文件尺寸多大呢?

3楼的:
1、建议你看一下2440init.s文件中关于异常的处理的代码,在该文件的结尾部分;
2、2440init.s文件是为了防止程序大于4K就将不管是小于还是大于都搞成了读到SDRAM中运行。
deluca 发表于 2009-11-19 12:51:06 | 显示全部楼层
亚瑟王,串口没有信息
deluca 发表于 2009-11-20 14:30:24 | 显示全部楼层
镜像那个bin file是400k左右,ro base是 x3000000
我应该从哪个方面着手debug?
谢谢
亚瑟王 发表于 2009-11-21 10:57:36 | 显示全部楼层
调试的话你可以阅读一下TQ2440使用手册的5.3章节的单步调试。
deluca 发表于 2009-11-25 09:38:53 | 显示全部楼层
原来是因为 ads里面连接顺序设置的不对
总算搞定了
9# 亚瑟王
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

i.MX8系列ARM cortex A53 M4 工控板上一条 /1 下一条

Archiver|手机版|小黑屋|天嵌 嵌入式开发社区 ( 粤ICP备11094220号 )

GMT+8, 2024-5-19 16:19 , Processed in 1.031250 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表