a136498491 发表于 2015-11-13 09:43:32

I.MX283A裸机RAM中调试的理解

前一段时间买的ZLG 的 150元 的I.MX283A开发板,现在闲了想当单片机来折腾。
据说里面分别有128KB的OCROM(OC:On-Chip)和OCRAM,正好可以当单片机啊!
但是,看了应用手册才知道,ROM已经被飞思卡尔写上boot了!

听ZLG的技术支持讲,只能RAM调试,写ROM,他们没做过。好了,我死心了,只好在RAM调试。
//下面RAM调试的内容来自ZLG的论坛:http://maker.zlgmcu.com/forum.php?mod=viewthread&tid=23813
//-----------------------------------------------------------------------
2014年4月9日开始,逐步放出全部i.MX28x裸机程序(NAND/MMC/USB/LCD/SPDIF……)。
注:裸机程序仅供测试硬件使用,不做任何稳定性、安全性保证。

裸机程序调试时,请让跳线帽选择为USB启动。

第一步:IAR之闪烁LED
iar_led.rar (136.17 KB, 下载次数: 518)

编译的时候要选择OCRAM调试。

第二步:让程序在SD卡中运行
将IAR生成的.out文件用下面的工具处理成sb文件,然后用里面的burnSD.bat烧写到SD卡,从SD卡启动
sb_generator_win_v1.00.rar (896.65 KB, 下载次数: 509)

第三步:NAND/LCD/MMC/SPDIF/Audio/UART/USB/CAN/Ethernet/TOUCH/I2C/DDR
使用方法:
1.下载sourceryG++免费编译器arm-none-eabi-gcc:
   https://sourcery.mentor.com/GNUToolchain/release2322
    qq截图20140422154323.jpg
2.解压到/home/zlgmcu/用户目录下
3.加入环境变量:
   export PATH=$PATH:/home/zlgmcu/arm-2012.09/bin/
4.解压压缩包:   obds_v1.00.rar (7.23 MB, 下载次数: 518)
   tar jxf OBDS_V1.00.tar.bz2
5.进入obds目录,执行./build_src,生成了imx28_ivt_obds.sb文件
6.将imx28_ivt_obds.sb文件按照烧写UBOOT到Nand的方法,烧录到Nand。(拷贝到MFGTool下的目录,替换imx28_ivt_uboot.sb文件)


由于编译器有windows版,elftosb软件也有windows版,可将工程DIY到eclipse编译器中。

注:部分模块尚未完整验证,我们提供的代码仅供发烧友们参考,剩下的需要自己DIY。


欢迎各位DIYer把自己写的各个模块的IAR下代码post到这里交流。

//-------------------------------------------------------------

具体的工具还请去他们论坛下载,我只转第一个工程的文件:闪烁LED
其实如果在OCRAM中调试,只需要第一步就可以了。其中重点是选择USB调试。
我一开始没有选择USB调试,导致一复位,OCROM中的boot就加载flash中的u-boot,继而引导linux启动。用IAR能控制执行,就是无法修改RAM内容,无法下载app到RAM。可能是引导linux时,把里面的安全机制打开了(可能是MMU)。
如果选择USB调试,那么上电后,OCROM中的boot就处于等待状态,不会加载flash中的代码,这个时候jlink去连接,就能往OCRAM中写内容了。

有错误还请指出完善。

LQS1200 发表于 2015-11-13 11:13:01

还能裸机啊?怎么裸

a136498491 发表于 2015-11-13 12:36:28

LQS1200 发表于 2015-11-13 11:13
还能裸机啊?怎么裸

不跑系统啊,就是直接操作寄存器。

308594151 发表于 2015-11-13 13:14:57

官方论坛上面的,持续关注中

LQS1200 发表于 2015-11-13 14:00:25

a136498491 发表于 2015-11-13 12:36
不跑系统啊,就是直接操作寄存器。

好像没有裸机程序

a136498491 发表于 2015-11-13 22:11:32

LQS1200 发表于 2015-11-13 14:00
好像没有裸机程序

我没注意,只是看到可以在RAM中调试

a136498491 发表于 2015-11-13 22:55:46

LQS1200 发表于 2015-11-13 14:00
好像没有裸机程序

看了看那个LED闪烁的例程,确是裸机跑的,没有用OS,只不过是在RAM中
页: [1]
查看完整版本: I.MX283A裸机RAM中调试的理解