天嵌 ARM开发社区

 找回密码
 注册
查看: 2814|回复: 7

在TQ335x上做裸机程序

[复制链接]
dingit1024 发表于 2013-7-10 09:05:29 | 显示全部楼层 |阅读模式
本帖最后由 dingit1024 于 2013-7-10 09:06 编辑

在TQ335x上做裸机程序,我想用CCS 5.4编译生成二进制,在uboot中使用tftp下载后执行。但是CCS生成的.out文件
总是执行不了,怎么解决?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
亚瑟王 发表于 2013-7-10 12:17:38 | 显示全部楼层
你是下载到Nand中,然后从nand启动吗?
你烧写的命令是什么?
建议使用:tftp 0x82000000 xxxx.out;nandecc hw 2;nand erase 0x0 0xXXX;nand write.i 0x82000000 0x0 0xXXX
其中0xXXX以实际长度为准(同时要是128K的整数倍)
 楼主| dingit1024 发表于 2013-7-11 13:52:00 | 显示全部楼层
亚瑟王 发表于 2013-7-10 12:17
你是下载到Nand中,然后从nand启动吗?
你烧写的命令是什么?
建议使用:tftp 0x82000000 xxxx.out;nand ...

tftp 0x82000000 MLO
nandecc hw 2
nand erase 0x0 0x40000
nand write.i 0x82000000 0x0 0x40000

使用上面的方法可以正确把MLO以及uboot烧写到TQ3358的flash中,因为MLO和uboot其实地址固定。
不知道如何烧写自己的裸机程序,直接烧到0x0 flash地址?这样无法执行
亚瑟王 发表于 2013-7-11 14:28:53 | 显示全部楼层
dingit1024 发表于 2013-7-11 13:52
tftp 0x82000000 MLO
nandecc hw 2
nand erase 0x0 0x40000

如果你要覆盖掉MLO,那么你的程序需要有MLO的功能才行。否则建议不要覆盖掉MLO。
 楼主| dingit1024 发表于 2013-7-11 15:31:02 | 显示全部楼层
亚瑟王 发表于 2013-7-11 14:28
如果你要覆盖掉MLO,那么你的程序需要有MLO的功能才行。否则建议不要覆盖掉MLO。

恩恩,那就不覆盖MLO,把程序写到flash的其他地方,怎么才能让他运行起来?提供一个方法呗
亚瑟王 发表于 2013-7-12 10:35:32 | 显示全部楼层
dingit1024 发表于 2013-7-11 15:31
恩恩,那就不覆盖MLO,把程序写到flash的其他地方,怎么才能让他运行起来?提供一个方法呗

用u-boot来读取程序到指定内存,然后再跳过去运行。
 楼主| dingit1024 发表于 2013-7-12 10:43:33 | 显示全部楼层
亚瑟王 发表于 2013-7-12 10:35
用u-boot来读取程序到指定内存,然后再跳过去运行。

先读到内存然后运行,我试了,失败了,可能是我的指令问题。 如果你们在TQ3358的uboot测试过的话,希望能把相关指令贴一下。另外还有如何生成TQ3358的 uboot可以运行的裸机程序.bin。先谢谢了
亚瑟王 发表于 2013-7-12 15:50:39 | 显示全部楼层
dingit1024 发表于 2013-7-12 10:43
先读到内存然后运行,我试了,失败了,可能是我的指令问题。 如果你们在TQ3358的uboot测试过的话,希望能 ...

在TQ3358上没有试过,在TQ210上试过的。本帖有类似的帖子。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

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

GMT+8, 2024-3-28 21:42 , Processed in 1.046875 second(s), 19 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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