意思一下出200RMB+送mini2440开发板(有触膜屏)+送Jlink 求广州的朋友帮忙,也欢迎大家
之前在论坛里也发过求助贴的!链接:http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=5365126&bbs_page_no=1&search_mode=3&search_text=studyplacefor&bbs_id=9999
过年来又过去一周了!到现在我还是在原地!在网上也发了知道!
链接:
http://zhidao.baidu.com/question/372200009.html?oldq=1
也加了很多网络技术高手的QQ, 都没有人理会, 让我很烦恼!今天又是研究了一整天的启动代码(44Bint.s)!
44B0X很老的芯片。 我相信很多人都玩过它! 目前我手上就有N块44B0X产品板!(有些我擦除了flash,有些我没有擦掉的!)
我现在是有条件求诚心朋友,能指点我调试与下载!也就是: 调试板子里什么程序也没有的板子(能做到大概的单步几下,串口能打印,板子的运行与AXD调试的情况相符,并把程序下载到flash中去,能运行即可!)好像是BSP,我相信这些问题,对于,各位玩过S3C44B0X的朋友来说,是小菜一碟! 诚心向你们求教! 本人工资少,所以开出的辛苦费也少,希望各位不要介意。介绍如下:
200 RMB 不会怀疑我这份诚意吧?
mini2440开发板 friendarm 的带有触摸屏的我试过都能用, 硬件都很好的!但少了一个wilgger小板!
Jlink V7仿真器 2012-2-3日在淘宝
链接:http://trade.taobao.com/trade/pay_success.htm?biz_order_id=138951447273158&out_trade_no=T200P138951447273158&dealing=T 处刚拍,有发票!
我板子的配置:44B0X +39VF1601+HY57V641620 ,这一款产品是通过串口更新程序的。我就是搞不明之前的前辈是如下烧程序的!
我现在有的调试方案的硬软件: 1、 ADS1。2+H-JTAG+wilgger +AXD(我就是用这个方案,毫无进展了)
2、 ADS1.2+Jlink / 其他 + AXD
因为我要一位现场“导师”,所以寻找目前在广州天河/黄埔/海珠/白云/越秀/番遇 不太远的高人! 朋友在那里? 我需要你启蒙!
调试地方:我公司处或面议!也欢迎大家跟贴讨论技术问题! 多谢
工程文件列表:
http://cache.amobbs.com/bbs_upload782111/files_51/ourdev_715825NMPKO2.JPG
工程总文件列表及部分表 (原文件名:3.JPG)
http://cache.amobbs.com/bbs_upload782111/files_51/ourdev_715826BBH8GL.JPG
续表 (原文件名:4.JPG)
PS: 我不是急功,只是这个难题一天天的削减我对编程的热情,伤不起! Jlink因为刚买。。周一/周二到货吧! 我的QQ:867586032 867586032
e-mail:great2008.ok@163.com
现在广州天河 你是在那里啊??
楼主的440BX有得送么?? 或者我针对这本硬件,写个LED闪炼的程序,把它用ADS+AXD调试,并下载到Flash中能运行就OK。。 有 回复【3楼】haiyu
你是在那里啊??
楼主的440bx有得送么??
-----------------------------------------------------------------------
我在广州天河区天河软件园(科韵路), 棠下棠东车陂一带!
44B0x是指我的板子喔,, 不是开发板44B0X ,我手头也有一个,RF-1800烧写器。。就是没有它的操作软件!不知怎么用 能连上仿真器的话,一步一步测试,应该问题不大。
如果44B0X有内部的SRAM,把代码扔在那个上边去跑,会避免很多问题。用于基本验证很不错。
如果要跑在外部SDRAM之类的上边,那要初始化时钟和内存控制器,如果初始化不好就会挂得很难看。 回复【6楼】studyplacefor
-----------------------------------------------------------------------
你的QQ号错了
你的板能用串口烧写的吧!! 回复【7楼】dr2001
能连上仿真器的话,一步一步测试,应该问题不大。
如果44b0x有内部的sram,把代码扔在那个上边去跑,会避免很多问题。用于基本验证很不错。
如果要跑在外部sdram之类的上边,那要初始化时钟和内存控制器,如果初始化不好就会挂得很难看。
-----------------------------------------------------------------------
我用的是wiggler小板,在外部的sdram调试时也用fillmem初始化过Sdram的,, 试过网络上找的初始化文件44b0x.ini.
也试过自已对着启动文件修改 fillmem
调试时,能单步。。也能改写内存。。就是一遇到诸如while(i--); 之类句时,,i(int 型) 初值改大少少,,就运行的很慢。。(一直在running image ,调真不出程序的功能)全速run也是一样的。。 然后不管这些,,把它下载到flash中也是一样的 很早以前也搞了个44BOX板,让别人焊接的,下载死活不成功,扔到角落里吃灰,最近看了一下,锈得都认不出样子了。
能串口下载,估计是预先烧写了 bootloader (必须用Jtag) ,然后按 bootloader的协议进行下载的。
最重要的是确认硬件没有问题。 回复【8楼】haiyu
回复【6楼】studyplacefor
-----------------------------------------------------------------------
你的qq号错了
你的板能用串口烧写的吧!!
-----------------------------------------------------------------------
QQ已更正!不好意思。。刚才在付款淘宝。。不知不觉就写错了!呵呵
我的板,,没有被我erase的,,能用串口更新程序的! 回复【10楼】apple_01
很早以前也搞了个44box板,让别人焊接的,下载死活不成功,扔到角落里吃灰,最近看了一下,锈得都认不出样子了。
能串口下载,估计是预先烧写了 bootloader (必须用jtag) ,然后按 bootloader的协议进行下载的。
最重要的是确认硬件没有问题。
-----------------------------------------------------------------------
我的 能check 到, arm7核和39VF1601 下载 h-JTAG提示成功的!
我这里有十几二十个这样的产品! 任我试验! 所以,我觉得硬件问题不大!问题应该出在:1, AXD的配置文件(命令)不对
2、一些时钟设的不对!
3、可能wilgger小块 + AXD真的很 慢! 没玩过44B0,顶下楼主。希望好运。 回复【13楼】lovelywwei
没玩过44b0,顶下楼主。希望好运。
-----------------------------------------------------------------------
谢谢, 我搞了很久了的,这个。。 自从难住我之后,上班没有精神。。。。 jlink能不能连上你的板子?如果可以,应该可以识别你的CPU,然后使用JLINK的flasher工具就可以把BIN文件通过JTAG写入外部FLASH. 可惜偶在深圳,不然你肯定上班会有精神。
呵呵 回复【15楼】fantasystudio
jlink能不能连上你的板子?如果可以,应该可以识别你的cpu,然后使用jlink的flasher工具就可以把bin文件通过写入外部flash.
-----------------------------------------------------------------------
Jlink 还没有到呢。。周一二吧。。。我也是看了论坛的贴子才今天到淘宝买个jlink的,在北京到广州要二天吧!
http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=3913005&bbs_page_no=1&bbs_id=1032
厂家说,附带有光盘,,应该驱动都全的喔! 我也是怕,用Jlink 也有很多配置呀,插件呀,方面的问题!好想搞个multi-ice的,,看了一下,,800下不了手! 这一款产品是通过串口更新程序的。我就是搞不明之前的前辈是如下烧程序的!
lz自己也说了可以这样1、 ADS1。2+H-JTAG+wilgger +AXD(我就是用这个方案,毫无进展了)
那你把bsp生成的bin转成c文件 加入工程,
然后实现简单的几个往norflash编程的函数
把刚才转成后的c文件写入就行了
就是采用1、 ADS1。2+H-JTAG+wilgger +AXD 仿真运行这个工程
其实烧写裸板有很多种方法的,这里只是其中一种,玩转了就容易了 回复【18楼】chinaye1 程序猿
这一款产品是通过串口更新程序的。我就是搞不明之前的前辈是如下烧程序的!
lz自己也说了可以这样1、 ads1。2+h-jtag+wilgger +axd(我就是用这个方案,毫无进展了)
那你把bsp生成的bin转成c文件 加入工程,
然后实现简单的几个往norflash编程的函数
把刚才转成后的c文件写入就行了
就是采用1、 ads1。2+h-jtag+wilgger +axd 仿真运行这个工程
其实烧写裸板有很多种方法的,这里只是其中一种,玩转了就容易了
-----------------------------------------------------------------------
"那你把bsp生成的bin转成c文件 加入工程" 这一步怎么做呢?bin 转换成C文件,,步聚怎么样的?
bsp的bin ? 你是指右击我的工程中的BSP 文件,再compile 一次生成的bin ?
还是指我的下载程序的bin ?
玩转了就容易了---------很明显,这是真理! 简单看了一下44B0X的手册,尝试这样的步骤:
1、该芯片启动应该是从nCS0的NOR Flash直接运行代码的,因此NOR Flash中不要有无效代码。
至少要烧一个向量表加上B .这样的死循环代码进去。否则Reset释放后,没有有效代码ARM Core跑飞了,然后再Halt Core,可能会遇到莫名其妙的问题。
如果这样的操作成功了,直接启动AXD连到板子上,应该看到处理器在执行B .的那个程序,并且连续执行,单步,etc,这些操作都是正确的。
2、写初始化外部存储器的代码。写好了以后转化为AXD的脚本,或者别的init的脚本,执行后应该能正确访问外部存储器。初始化内容一般包含时钟,内存控制器。
由于这步操作会导致ReLoad程序的时候重复初始化,因此你的调试工具一定要能发硬的Reset信号到板子上,否则AXD每次启动的时候,芯片初始状况会和初始化脚本预设前提不一致。除非每次你都手工去复位。(这点对于开了MMU的系统尤其重要。)
检验方法是用AXD的Load功能加载一个随便什么文件到内存,然后再Save回PC,用FC对比是否正确。
以上两步没问题的话,那么可以把1/2两步合并成一个程序,烧Flash里,这样能加快启动的速度;或者每次都按照复位/1/2这样步骤操作。这样裸奔测试的基本前提就有了。
需要额外注意的是,调试的代码就不要重复初始化时钟和内存,否则直接就跑飞了。 回复【20楼】dr2001
简单看了一下44b0x的手册,尝试这样的步骤:
1、该芯片启动应该是从ncs0的nor flash直接运行代码的,因此nor flash中不要有无效代码。
至少要烧一个向量表加上b .这样的死循环代码进去。否则reset释放后,没有有效代码arm core跑飞了,然后再halt core,可能会遇到莫名其妙的问题。
如果这样的操作成功了,直接启动axd连到板子上,应该看到处理器在执行b .的那个程序,并且连续执行,单步,etc,这些操作都是正确的。
2、写初始化外部存储器的代码。写好了以后转化为axd的脚本,或者别的init的脚本,执行后应该能正确访问外部存储器。初始化内容一般包含时钟,内存控制器。
由于这步操作会导致reload程序的时候重复初始化,因此你的调试工具一定要能发硬的reset信号到板子上,否则axd每次启动的时候,芯片初始状况会和初始化脚本预设前提不一致。除非每次......
-----------------------------------------------------------------------
你建义的步骤第一步,我测试操作成功! 也就是启动代码的前面部分的!
第二步, ""由于这步操作会导致reload程序的时候重复初始化,因此你的调试工具一定要能发硬的reset信号到板子上,否则axd每次启动的时候,芯片初始状况会和初始化脚本预设前提不一致。除非每次......
"" 这些我之前也注意到了的, 我的板子上只一个硬件电源开关,没有硬复位的,(要用镊子短接复位脚吗?这样的操作,我没有做,现在在女友家里,周一我再尝试下)! 我曾尝试过删除配置时钟,bank0--bank7,re selfresh ..部分代码! 也是同样的情况!"然后再Save回PC,用FC对比是否正确。
"我不知道怎么样Save 回pc?是set pc 0x00吗? 能否给个AXD的截图?
dr2001你好! 不管怎么操作,必须要保证的就是以下几件事情:
1、从ARM Core复位,开始运行程序始;到调试工具连接到ARM Core并且成功Halt为止;ARM Core没有执行过任何非法的代码,ARM Core的状态是正确可控的。ARM Core有时候所处的异常状态调试工具的Halt操作等等不一定能立刻甄别出来,但是之后的操作可能有异常。
2、ARM Core从内存中获得的指令和数据始终是正确的。显然,读到的东西不对,Core就跑飞了。对于在外存中运行,Core的频率,总线频率,内存控制器的等待周期等必须审慎设置,测试时宁可慢一点。
3、设计程序时假设的状况和实际芯片/运行环境所处的状况始终一致。典型就是初始化时钟,初始化SDRAM,初始化MMU,类似这样的代码。重复初始化在某些芯片、某些配置情形下可能出错,主要是初始化脚本缺少程序流程的控制。另外,脚本没有检查标志位的功能,延迟必须手工完成。
举例如ATmel芯片的PLL,重复配就容易发生时钟切换失败,因为开了PLL和上电之后的配置是不同操作顺序。
以上三点保证使用调试工具加载的那个程序是从一个受控的、可靠的环境中开始运行的。否则难于判定哪里出错。
对21楼的问题:
1、是否要复位取决于具体的硬件和软件操作流程,不可一概而论。ARM7/9使用HJTAG的话,ARM Core可以不用复位,他们专门做了这个功能;但是片上外设状态就看用户如何配置。没把握就Reset或者重新上电。
2、是把ARM的Memory中的数据保存到调试的主机上;不是PC那个REG。AXD有Load to Mem和Save from Mem两个按钮,在工具栏上。直接用就行了。更好的方法是写程序去高强度读写、测试SDRAM,判定初始化是否正确。
如果飞只能单步看,打开AXD的定时刷新功能,看反汇编/Memory/REG数据是否稳定不变,单步执行REG状态以及ARM Core的状态是否正常。 回复【19楼】studyplacefor
回复【18楼】chinaye1 程序猿
这一款产品是通过串口更新程序的。我就是搞不明之前的前辈是如下烧程序的!
lz自己也说了可以这样1、 ads1。2+h-jtag+wilgger +axd(我就是用这个方案,毫无进展了)
那你把bsp生成的bin转成c文件 加入工程,
然后实现简单的几个往norflash编程的函数
把刚才转成后的c文件写入就行了
就是采用1、 ads1。2+h-jtag+wilgger +axd 仿真运行这个工程
其实烧写裸板有很多种方法的,这里只是其中一种,玩转了就容易了
-----------------------------------------------------------------------
"那你把bsp生成的bin转成c文件 加入工程" 这一步怎么做呢?bin 转换成c文件,,步聚怎么样的?
bsp的b......
-----------------------------------------------------------------------
bin to c 网上有这个软件的
bsp的bin 就是指你的bootloader啊! 目的就是把这个写进去的
最后新建的下载的工程,只是利用它的axf仿真 从而写入的
lz明白了这个写入程序的道理后就能理解了 应该是配置问题。
有BIN可以试试反编译。看看就明白了。
比如说。什么RAM配置呀。怎么串口更新呀,什么都搞定了。
不要用什么BIN2C
要用IDA这个神器。
页:
[1]