共10条
1/1 1 跳转至页
vxworks映象烧入flash的讨论!
在嵌入式系统设计中,工程项目完成后生成的vxworks映象(包含应用代码)一般都要烧入flash等这样的芯片里。常用的方法包括以下几种:
1。用串口。最简单,最方便,但最慢。
2。用JTAG或BDM之类的接口。但要有价格不菲的外设支持。
3。用网络。速度快,方便,需要有一定的开发能力。
比较之下,我个人认为第三种方法是最好的,下面就网络烧入说一下我的看法。
在vxworks中用网络法的一个很大的优势就是网络设备的驱动一般都在BSP中由wind River公司做好了,我们可以充分利用。有两种思路可以实现:
1。在bootrom中加入一段代码,直接用tornado提供的tftp来获取所需要的文件,然后写入flash。这种方法比较灵活,可以烧入其它文件,但需要tftp客户端编程,难度较大。
2.在autoBoot之后,加入一段代码,把vxworks映象从ram的0x1000(RAM_LOW_ADRS)地址处读出写入flash。不需要去作ftp的工作,简单。但需要知道映象文件大小,比较死板,只能烧vxworks映象,因为自启动之后默认载入的就是vxworks映象。
这只是我个人的初步想法,在此抛一砖,希望大家讨论讨论。
[em27]
关键词: vxworks 映象 烧入 flash 讨论
1 bootrom :启动Rom
2 vxworks :包括OS kernel和app的vxworks image。在Tornado中是这样解释的“RAM based VxWorks image, linked to RAM_LOW_ADRS. It is loaded into RAM via some external program such as a bootROM. This is the default development image.”
3 vxworks_rom :在Tornado中是这样解释的“RAM based image that starts in ROM. The ROM startup code copies the entire image to RAM and then jumps to it. This image generally has a slower startup time, but faster execution time, than vxWorks_romResident。”
我认为使用bootrom和vxworks作为开发中,但是成产品时用vxworks_rom。
欢迎大虾指教,尤其是关于vxworks_rom,我没有试过,有可能不对呦![em14][upload=jpg]uploadImages/200252013563231092.jpg[/upload]
xiaohua兄,我认同你的看法。但关键是怎样把这个最终映象烧到flash中?你是怎么烧的呢?
hongWind兄,你说[color=#DC143C]“ 我想这个方式比较好吧,在bootrom配置启动时候不就有一种bootp的启动方式吗,我们可以使用那里的tftp,然后直接修改相应的代码,应改可以吧,因为那是的bootrom应该是一个类似vxwork的环境,程序应该比较容易。”[/color]。这种方法当然好,只是我找遍了bootConfig.c也没有找到相关的源代码,只发现了“ftpXfer (hostName, usr, passwd, "", "RETR %s", "", fileName,&errFd, &fd)”和bootLoadModule (fd, pEntry)两个ftp相关调用。所以这种方式还需要自己编写ftp客户端程序,这对于作硬件底层开发的兄弟来说有些难度。。。[em12]
I am sorry I did not try this. My workmate is risponsible for this, but for some reason I can not get any information from him.
I think it is to burn the VxWorks_rom into the flash derectly and it is OK!
If someone did it before,please give us a message!
DO NOT LET US MOVE IN DARK!
感谢所有回复该主题的朋友!
我这两天也正在尝试。现在我的flash已经可以正常操作了,明天将作一些试验。
frankzhou兄,你说:
[color=#DC143C]生成vxworks映像时,include_tffs。vxworks起来之后,可在shell下运行:
-> usrTffsConfig 0,0,"/tffs/"
之后,系统中多了个设备/tffs,就可以像*作硬盘一样将我们的文件往flash放了。[/color]
这里我有一个疑问:系统支持的flash是哪一种类型的?容量有多大?在config.h中还需要作哪些配置?能否把你的实际操作过程写出来?大家也许会更明白(我比较笨)。谢谢!
[em09]
共10条
1/1 1 跳转至页
回复
有奖活动 | |
---|---|
【有奖活动】分享技术经验,兑换京东卡 | |
话不多说,快进群! | |
请大声喊出:我要开发板! | |
【有奖活动】EEPW网站征稿正在进行时,欢迎踊跃投稿啦 | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
打赏了!打赏了!打赏了! |
打赏帖 | |
---|---|
与电子爱好者谈读图二被打赏50分 | |
【FRDM-MCXN947评测】Core1适配运行FreeRtos被打赏50分 | |
【FRDM-MCXN947评测】双核调试被打赏50分 | |
【CPKCORRA8D1B评测】---移植CoreMark被打赏50分 | |
【CPKCORRA8D1B评测】---打开硬件定时器被打赏50分 | |
【FRDM-MCXA156评测】4、CAN loopback模式测试被打赏50分 | |
【CPKcorRA8D1评测】--搭建初始环境被打赏50分 | |
【FRDM-MCXA156评测】3、使用FlexIO模拟UART被打赏50分 | |
【FRDM-MCXA156评测】2、rt-thread MCXA156 BSP制作被打赏50分 | |
【FRDM-MCXN947评测】核间通信MUTEX被打赏50分 |