首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

移植UCLINUX到44B0上的过程 01

移植UCLINUX到44B0上的过程 01

我本人对于UCLINUX方面的开发和应用其实并不熟悉,因为看到电子产品世界论坛上有很多这方面的讨论觉得有点意思,后来就买了块代博的板子玩玩,然后对此兴趣渐浓,后来我觉得不在自己那块44B0上玩玩UC实在不甘心,就慢慢摸索着把它移植过去。当然碰到了不少的问题,不过现在已经在我的板上跑得很好,网络也通了,就跟在4510上运行差不多。我看看了本论坛上讨论4510的UC的贴子还是不少,希望大家也可以在44B0上跑通UC,而且完全可以把4510上运行UC的经验搬到44B0上来。TPU曾告诉我他以前在这上面跑过MICROWINDOW,这也很吸引人哦,快快学吧!


  在好几个坛子上面看到大家对uC的讨论热火朝天,但差不多都是基于4510开发板的,而基于44B0的好象很少,并且不象4510的那样成熟和清晰。可能和4510主要是网络应用有关吧,它可以充分利用uC的网络功能。如果在44B0上加入uC,也可以体验一下这个操作系统,再加入往卡驱动的话,也能实现网络哦!记得以前在arm开发论坛看到一位高人写过在44B0的uC上加网卡驱动的文章,想做这个的兄弟可以去找找。


  我手头有4510和44B0的板子各一块,4510是代博的,上面带的uC挺好用。于是想在44B0上也跑跑uC,两周前我调通了8019后觉得条件差不多了,因为uC的IMAGE.RAM是非压缩的,有1M多,调试的时候如果不用到网络下载的话会很慢,即使用串口调到115.2K也要几分钟时间,而且可靠性也较低,所以有网卡芯片是移植的一个重要条件,当然有USB通讯的话也很快,不过我的板那块坏了,并考虑到以后会用到网络,还是用8019吧。从我有板开始我就一直找可用于44B0的uC,并下载过TPU兄的源文件,上次看到TPU兄的留言可帮忙移植就马上留言联系,后来通过一封MAIL好象就没消息了,只好自己摸索着做做,所以我的移植过程可能存在很多不对的地方,大家一起参考修正。


  开始我想跑跑TPU的ZIMAGE,这是一个压缩后的文件,运行时需要自解压,查到它的起始运行地址是0XC300000,KENERL运行地址是0XC008000,用自己的BIOS将数据DOWN到设定地,再RUN,运行出现结果了,开始是些乱码,调了一下串口速率,在38400,显示UCOMPRESS KERNEL……不过到START KERNEL后,再没下文了,于是用AXD反汇编调试,发现是因为进入KERNEL后没找到PROCESSER ID而停掉,可能是要在BIOS中传递过去。后来想到一个办法,把我现在在4510板上跑的uC改动后移植到44B0上,在那一版上大家对uC的应用都做得比较熟了,编起来也比较方便。开始有这个想法没贴出来,因为首先得验证可行性,就先做做实验啦。


  首先准备一分uC的源码,我用的是uCLinux-dist20030522版,本来是在4510上跑的,板的型号叫SNDS100,带上代博的PATCH,以前的版本应该也可以,我没有试。再准备一个BIOS,可以下载编译好的程序进行调试,可以看看我以前贴的那个。还需要一个串口调试工具,用来和BIOS和uC做人机交互,我用的是SSCOM3.2,在LINUX下也有相应程序。我的移植过程是从4510开发板上开始的,所以需要看本文的人对4510有一定了解。在这我只列出修改的地方,如果你有什么不明之处可以和我讨论。uC编译后在IMAGES目录生成三个文件,一个是IMAGE.RAM,这是带自启动的压缩版,可烧入FLASH运行,一个是IMAGE.RAM,这是没压缩的,须通过下载后直接运行。
返回列表