用JLink(V8) + AXD烧写FL2440的BootLoader并利用USB线下载WinCE和Linux

本文详细介绍了如何使用JLink(V8)和AXD工具烧写FL2440开发板的BootLoader,并通过USB线下载WinCE和Linux系统。在过程中提到了需要注意的步骤和可能遇到的问题,包括硬件连接、软件配置以及操作过程中的关键点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

//     JLink(V8)  AXD烧写FL2440BootLoader并利用USB线下载WinCELinux

//     Leo

//     :九江学院·信息科学与技术学院·嵌入式开发团队(江西)

//     WinXP + 飞凌FL2440开发板

// 发布日期20110318V1.0

// 最后修改

// 注意事项:未经作者同意,不得在转载时候擅自修改、删除文章的任何部分

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

 

一、起因:

 

    飞凌公司在FL2440开发板出厂时,将WinCE启动后的窗口设置成横的,而正常情况下应该是竖屏幕。这样,启动开发板的WinCE后,对其中的网络连接、USB连接进行设置时,所有参数、名称输入完成后,却发现对话框的确认按钮被 WinCE 任务栏遮挡住,无法进行下一步,非常不便。

 

    后来从著名嵌入式技术网友goooglman处得知,可以将屏幕旋转程序rotate.exe 拷贝到开发板NAND Flash文件夹下,然后每双击一次,屏幕都会自动旋转90度。

 

    当时没有仔细考虑所谓 NAND Flash 具体路径指的是什么,就给开发板上电并按任意键调出Boot页面的Select Menu菜单,选其中的[1] Download to flash

 

   

    接着是选了0 :……[boot],或是1 :[bootParam],或是7 :……[wince]已经记不清了。

 

 

    操作下来,BootLoader 就没有了,开发板无法正常启动。

 

     为了解决这个问题,花了好几天时间。想不到有这么麻烦。使用的软、硬件包括:

 

Ø        软件:DNW ADS1.2中的AXD SEGGER JLink ARM USB驱动程序

 

Ø        硬件:笔记本电脑 FL2440开发板 JLink V8 三口转接板

 

          转接板与开发板JTAG口之间用的排线 + USB线 + 力特USB转串口线

 

 

    以上软件或驱动程序的在FL2440开发板的配套光盘上都可以找到。

 

    软件或驱动程序的安装和使用方法在FL2440开发板的配套光盘上《开发板使用手册》、《开发板准备实验(必读)》、《飞凌开发板配套教程》纸质稿中都有描述。

 

    硬件连接请参考下图(图片来自gooogleman的淘宝店JLink商品页面贴图)。

 

 

    图中红色小板是三口转接板。

 

注意

    记得要在上图红框所示USB插口(在开发板电源插孔旁边)与笔记本电脑之间连USB线。但不必在烧写BootLoader时就连上。

 

 

二、基本过程

 

1、先利用JLinkBootLoader烧写到开发板上。

 

2BootLoader烧写成功后,开发板断电,并将JLink与开发板的连接断开。这点很重要。不熟悉的人或初学者常常在这一步发生问题。

 

3、开发板重启,将USB线与开发板连接。

 

4、先下载WinCE6.0操作系统——开发板使用手册等资料上说,下载WinCE6.0之前,要先将Linux的文件系统擦除!一定要记得这个提示。否则先下载了Linux操作系统之后,再下载WinCE6.0操作系统时,就会出问题,而且还不知道为什么!!!

 

 

注意

 

    这里操作系统是指Linux = 内核 + 文件系统;或 WinCE6.0 = 内核 + EBoot

 

    本人没有试过只下载了Linux内核而没有下载其文件系统时,下载WinCE6.0操作系统的后果。上面的提示没包括Linux内核在内,那么这样做应该没问题吧。

 

 

5、然后下载Linux操作系统。

 

 

注意

 

    随板光盘上有2.6.122.6.28两个内核,区别只在于触摸屏驱动不同。在开发板光盘上的文件夹Linux2.6.12和文件夹Linux2.6.28里有说明。

 

    而且在文件夹Linux2.6.12中有zImage1zImage2两个内核映像文件,分别适用于不同尺寸的触摸屏。本人开发板是3.5寸的触摸屏。所以选用文件夹Linux2.6.12zImage1qte_touch.yaffs来下载。这样可以保证下载成功后,初次启动Linux时,在QTopia下对触摸屏校准一次性通过

 

 

 

三、烧写BootLoader

 

    按照FL2440开发板配套光盘上的《开发板准备实验(必读)》之《使用AXD烧写BootLoader》的步骤,同时参考网上资料。

 

    打开DNW

 

    板子启动了,但DNW中没有选Serial PortàConnect时,注意红框中字样。

 

 

 

    打开AXD。会依次出现下面两个对话框。直接关闭即可。

 

 

 

    在打开的AXD界面中,点OptionàConfigure Target…后,在出现的对话框中选JLinkRDI.dll

初次点OptionàConfigure Target…时没有此项,点Add,在JLink安装目录下找到JLinkRDI.dll,如“C:/Program Files/SEGGER/JLinkARM_V408l/JLinkRDI.dll”

 

     注意下图中的蓝色框所示,表示JLink尚未找到开发板的MPU

 

 

    点上图红框中的Configure,弹出下图的对话框,选其中的CPU查看。在纸质稿《飞凌开发板配套教程》里,要求不选Allow instruction set simulation,并将Reset Strategy选为No Reset本人没这样配置。要是你烧写BootLoader没成功。可以试试这个配置。

 

 

 

   在选定JLinkRDI.dll后,按其所在对话框的“OK”按钮。出现如下所示窗口。

 

    注意:下图左侧红框内是ARM79_0,在资料光盘的实验说明里是ARM920T这一点很迷惑人,因为都知道2440ARM9核。而且下图右侧红框内已经是ARM9。所以总认为不对。

 

 

 

    在AXD中点FileàLoad Image,加载2440init.axf文件。可以直接使用光盘上提供的。本人笔记本上源码压缩包解压缩后的路径为:

 

     F:/飞凌(FL)2440/Bootloader/源码/2440BOOT_V5.1_FL/2440boot_Data/DebugRel

 

    下图中上面的红框中表示加载映像文件。第二个红框中有关于什么是 .axf 文件……,哈哈。

 

 

 

    网上有资料说在这一步,是把对话框关闭!!!试过了,一定不成的。估计是笔误? 

 

 

 

 

    找到2440init.s文件并打开后,如下图。按F5或在菜单栏中点ExecuteàGo,运行之。

 

 

 

    运行2440init.s几秒钟后,按Shift + F5或在菜单栏中点ExecuteàStop,停止2440init.s运行。

 

    此时,这个2440init.s关闭与否都没关系。

 

     然后,在AXD中点FileàLoad Image,加载2440boot.axf文件。可以直接使用光盘上提供的。本人笔记本上源码压缩包解压缩后的路径为:

 

     F:/飞凌(FL)2440/Bootloader/源码/2440BOOT_V5.1_FL/2440boot_Data/DebugRel

 

 

    确定打开后,会自动打开如下图中所示的2440init.s文件。按F5或在菜单栏中点ExecuteàGo,运行之。

 

 

 

    结果会自动弹出下面的对话框,注意红框中的文字是要求用户找到名为u2440mon.c的文件并打开。

 

  

 

    u2440mon.c在本人笔记本电脑上源码压缩包解压缩后的路径是:

 

    F:/飞凌(FL)2440/Bootloader/源码/2440BOOT_V5.1_FL/src/u2440mon.c

 

 

 

    确定打开后,会自动打开如下图中所示的u2440mon.c文件。按F5或在菜单栏中点ExecuteàGo,运行之。注意下图中红框内的进度条。它是不断地显示的。

 

    注意不要停止程序运行。同时会发现开发板液晶屏会有由亮————亮的变化。

 

 

 

    DNW中选Serial PortàConnect时,注意红框中字样的变化。显示出串口编号参数。前文中此处是 x

 

    注:可以在DNW一打开之后,就点Serial PortàConnect来连接。那么会在加载2440boot.axf

后,出现如下图所示

 

 

 

    然后按笔记本键盘上的任意键。Select Menu开始出现。选[1] Download to flash

 

    注意:此时AXD中程序“u2440mon.c”的运行不能停

 

 

     0 ……[boot]

 

    注意:下图中DNW窗口标题栏中的[USB:x]表示当前USB口是不通的。将USB线连接好之后,就会看到[USB:OK]

 

    然后在DNW的菜单栏点USB PortàTransmit,找到2440bootV5.1.bin 。本人笔记本电脑上源码压缩包解压缩后的路径是:

 

    “F:/飞凌(FL)2440/Bootloader/目标文件/ 2440bootV5.1.bin”

 

 

   

 Ø      AXD中停止u2440mon.c的运行;

 

 Ø      板子关电;

 

 Ø      JLink与开发板一侧的连接断开——这是关键!!!这样,开发板重启后,才能在DNW中自动弹出Boot菜单。

 

    否则,开发板重启时,即使JLink与笔记本电脑一侧的连接是断开的,在DNW中也无法自动弹出Boot菜单,会让人以为烧写不成功。由此可看出,JTAG调试的级别之高。

 

 Ø      USB线拔除或不拔除都可以。如果重启后发现DNW标题栏目中[USB:x]没有变为[USB:OK],则可以重新插拔一下USB线,USB就通了。此方法在《开发板使用手册》、或《开发板准备实验(必读)》、或纸质的《飞凌开发板配套教程》作为提示出现,可以查到。

 

    然后,开发板重新上电;

 

 Ø      确保重启后DNW标题栏目中[USB:x]变为[USB:OK]USB线——这是要!否则USB连接不通。无法达到下图红框中所示的效果,当然也无法通过USB下载。

 

    DNW标题栏目中[USB:x]变为[USB:OK]后可以按任意键,调出Select Menu菜单。

 

 

 

四、通过USB线向FL2440开发板下载WinCE

 

    为了试个彻底,索性将开发板上的出厂资源全部擦除。利用上述Select Menu,选上图中[6] Erase Flash Partition,将下图中2 : …… 7:…… 全部擦除。

 

 

 

    在《开发板使用手册》、或《开发板准备实验(必读)》、或纸质的《飞凌开发板配套教程》中有一条信息,即下载WinCE6.0之前,要将Linux的文件系统擦除

 

    这也是为什么本文将下载WinCE6.0列在下载Linux之前。

 

    其他操作步骤按《开发板使用手册》、或《开发板准备实验(必读)》中的说明进行即可。一定要注意其中的提示!!!

 

    有时,eboot.nb0烧写成功,但下载xip.bin过程中有如下错误,如下图红框中信息所示:

 

 

 

  

上述错误的原因

 

    就是在烧写EBoot.nb0成功后,没有将开发板断电,再重启并在Select Menu中选[5] Boot WinCE

 

    所以,一定要记得在烧写成功后,将开发板断电,然后上电重启。再按实验步骤下载WinCE6.0xip.bin

 

    这个在《开发板使用手册》中相应部分有提示。可惜试来试去得昏了头,当时忘记了。

 

    在没有找到上述错误真正原因的情况下,为了消除上述错误,在Select Menu中选[6] Erase Flash Partition,然后在如下所示菜单中选7 : ……[wince]。反复多次的结果,就是导致出现如下图红框中所示错误。显示已经在NAND Flash中出现了一个坏块!

 

    这是反复多次擦除、烧写NAND Flash所致。代价惨重!!!

 

 

 

   

五、通过USB线向FL2440开发板下载Linux

   

    先下载内核,然后下载文件系统。按照在《开发板使用手册》、或《开发板准备实验(必读)》、或纸质的《飞凌开发板配套教程》上的步骤来就可以。一定要注意其中的提示!!!

 

    FL2440开发板光盘提供了2.6.122.6.28两个版本的Linux内核。

 

 

注意

 

    Linux2.6.12文件夹中有两个Image文件——zImage1是用于3.57寸液晶屏的。这个在该文件中的readme.txt文件中有说明。

 

    本人的FL2440开发板上的液晶屏是3.5寸的。

 

 

 

六、再次强调

 

    BootLoader烧写完成后,一定要将JLink线与开发板连接的一侧断开,这样才能够在DNW中自动弹出Boot菜单。

 

    否则,即使JLink与笔记本电脑一侧的连接断开,JLink的另一端仍然与开发板连接,(假设已经向板子中下载了启动画面)则开发板液晶屏仍然是白亮的。DNW中不会自动弹出Boot菜单。让人以为烧写不成功。个人猜测很多人可能是由于这个原因才认为JLinkAXD烧写BootLoader无法成功的。

 

   反之,如果将JLink与开发板一侧的连接断开,而其另一侧仍然与笔记本电脑连接,那也不会妨碍开发板启动后,DNW中自动弹出Boot菜单。其实就这么简单。内牛满面?哈哈

 

 

 

 

本文写成博客文章后记:

 

   太麻烦。排版还好,图片上传与加入真不方便。

 

   希望大家喜欢。看到排版、图片都不错的网络文章不容易。努力做到效果好一点。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值