天嵌 ARM开发社区

 找回密码
 注册
查看: 2261|回复: 6

搜遍论坛没搞明白为什么裸奔时还是无法从NAND启动

[复制链接]
denny_you 发表于 2010-6-13 11:18:01 | 显示全部楼层 |阅读模式
本人愚钝,在论坛找了个遍还是没弄明白。问题如下:

编写了一个裸奔程序,利用H-JTAG和ADS,将BIN文件烧录到NAND FLASH后(H-JTAG没有报告烧录失败,应该是烧录成功了的),关电,再上电,程序没有运行(确定是没有运行)。

倒是通过AXD进行仿真,程序运行正常。



麻烦高手能详细讲解一下造成此问题的原因和解决方法,感激不尽!
并建议版主将解决办法置顶,因为新手遇到这种问题。
 楼主| denny_you 发表于 2010-6-13 11:51:26 | 显示全部楼层
补充一点:

如果烧录光盘提供的测试程序bin文件,测试程序运行正常。我是在测试程序的基础上改的裸跑程序,仅仅改变了while(1{……}的内容。
亚瑟王 发表于 2010-6-13 17:05:38 | 显示全部楼层
检查你的项目文件对各个源码链接的顺序,也就是TQ2440使用手册5.3.1章节新建项目时讲到的连接顺序,那个顺序错了,肯定是不行的。
 楼主| denny_you 发表于 2010-6-21 12:44:07 | 显示全部楼层
顺序没有错!

亚瑟王,还有什么可能导致我出现的问题么?
cmasp 发表于 2010-6-21 15:30:20 | 显示全部楼层
因为你的程序不带自启动功能!没有引导程序!





/***************************************************************************/
包邮 TQ2440开发板(256MB FLASH)+3.5寸触摸屏+13DVD资料+送USB转串口+铜柱=580
http://item.taobao.com/auction/i ... 5708bea5401ef74.htm
/***************************************************************************/
 楼主| denny_you 发表于 2010-6-21 16:38:18 | 显示全部楼层
本帖最后由 denny_you 于 2010-6-21 16:39 编辑

朋友,不是这个问题。经过对比和测试,我发现是因为DebugRel Setting下的ARM C Compiler--Code Gen--Plain char is signed这个选项不能打勾。

现象如下:
1.若DebugRel Setting下的ARM C Compiler--Code Gen--Plain char is signed这个选项打勾
  则:仿真正确,程序可以下载到NAND FLASH,但不能运行。
2.DebugRel Setting下的ARM C Compiler--Code Gen--Plain char is signed这个选项不打勾。
  则:程序可以下载到NAND FLASH并能运行,但仿真不正确,脱离仿真器运行结果也不正确。

推测就是因为这个选项造成了仿真和运行都不正确。解决方法应该是修改main函数运行之前的代码,可是还没有找到解决方法,寻求帮助!!!
亚瑟王 发表于 2010-6-24 11:19:42 | 显示全部楼层
我这里仿真+运行,完全按照TQ2440使用手册5.3.1章节的配置即可完成。不知道你那里是怎么设置的。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

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

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

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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