您的位置:首页 > 运维架构 > Linux

gexin 2410bp开发板调试笔记

2007-05-12 14:39 411 查看
gexin 2410bp开发板调试笔记
 

3.21                       拿到开发板,原系统为WINCE,而实验系统为LINUX,故完成PPC、内核编译,利用JFLASH_NOR烧写不能成功。
3.22                       利用WINDOWS下的SJF工具烧写2410loader.bin成功,可以在超级终端中看到启动信息。
3.25                       首次在MiniCOM中看到板子的启动信息;
利用JFLASH_NAND烧写PPCBOOT.bin,烧写完后没有启动信息;
烧写VIVI,终于可以在MiniCOM中看到板子的启动信息。启动时按空格键可以进入VIVI的提示符。
在超级终端下写Linux内核(785K):
启动超级终端,启动板子进入提示符下;
load flash kernel x
ctrl +A s
选择传送下的传送文件,协议选取为XModem.
传送完成后提示,映象文件太大了。
试图装入RAM中运行,装载成功,但不能运行。
 

3.26                       (S1右,S2下方)烧写PPCboot.bin成功,TFTP下载内核时出错:RETRY count exceeded!.
网络不通!!(后来发现居然没有接网线)。
 

NFS不通!!(加参数为 –ro后,MOUNT /NFS成功)。
成功烧入Linux内核及文件系统。
 

3.27                       在ADS中进行调试
开发板只带一个JTAG小板,没有ARM ICE仿真器。运行AXD时不能找到ARM芯片。无法进行调试,但利用SJF2410可以下载。
利用JTAG.EXE及PORTTALK不能进行;
利用H-JTAG软件也不行;
利用调试代理软件ARMDEBUG,结合GIVEIO.sys也不行;
装了MULTI-ICE软件等,都提示不能找到芯片。
打电话到革新技术部,说要买他的价格为3800元的仿真器才能调试。我晕。
看到立宇泰论坛中,自定义JTAG连线,如图



在H-JTAG中自定义后可以找到板子,但在AXD中还是提示不能打开端口。
在ARM9.exe中自定义后,可以找到,并且可以在AXD中进行调试了。
哈哈!节约了3800大洋!!
目前主要问题:
1.如何让Linux启动在LCD上显示,而不是在minicom中显示?
2.如何进行MiniGUI的移植?
3.ADS中程序如何运行?
  虽然可以调试,但运行LEDFLASH没有看到灯闪烁!!
3.28                       编译内核
今天编译内核老是不能进入提示符。
在内核通过后,但不能进入linuxrc文件。经查原来是内核配置中没有选择 math emulation没有选择,我晕,我整整搞了一天。
3.29 LCD驱动问题??
 4.2  搞了几天,今天终于在LCD上看到显示信息了,原来是SYSTEM TYPE中的要去掉change AIJI.重新编译一下就可以显示小蜻蜓了。
      下一步,移植miniGUI.
4.6                            今天终于利用h-jtag结合ADS可以进行程序的调试了。将串口调通过了。
  (要增加h-jtag的目标文件jtag.dll,还要去掉AXD中处理器配置Vector Catch)
利用AR9调试代理,也可以调试,但有时要出错。
串口和数码管实验可以正常做了。
4.7  ADS下调试通过实验程序:UART、LED、WDT、keypad、IICEPROM、GPIO、DA、2410Template等。另外,自己单独建立一工程,调试成功TESTGPIO,对LCD进行测试。
实验短信程序:ADS下和Linux下。
4.9 今天在网上搜索发现,i810显卡需要打补丁后才支持Framebuffer.下载补丁后重新编译内核,终于可以显示小企鹅了。宿主机上的minigui应该可以运行了。(还是不行)。

f620
交叉编译还是提示找不到头文件!!
4.14 在虚拟机中进行minigui的编译与移植。能进行交叉编译,但不能执行?
    编译应用程序:
     export PATH=/opt/host/armvrl/bin:$PATH
     armv4l-unknown-linux-gcc –o hello hello.c –lminigui –lpthread –L/mg/lib –I/mg/inlcude
 

4.16 MiniGUI交叉编译与运行成功(在虚拟机中)
以前老是提示找不到libminigui-1.3.so.0.
由于采用的是RAMDISK.image.gz,而Linux本身已占了较大空间,要将MiniGUI的库文件拷进去已经装不下,同时内容也会经常更新.解决办法:
busybox中没有LDCONFIG命令,始终都不会到/usr/local/lib中去找MINIGUI所需要的库.
利用NFS来加载MINIGUI库文件及应用程序:
步骤:
启动开发板,进入linux
mkdir /usr/local
mount –t nfs 192.168.2.122:/nfs /usr/local
cd /lib
ln –s /usr/local/lib/libminigui-1.3.so.0.0.0 libminigui-1.3.so.0
修改MiniGUI.cfg
为640X480-16bpp;
IAL:为DUMMY
运行HELLOWORlD,可以在LCD上看到启动界面.
 

下一步:鼠标与键盘如何使用??
4.19                           编写驱动程序skeleton.c 可以在板子上运行,但不能在宿主机上运行,修改未成功,因宿主机上的头文件不一样。
编写驱动程序led.c,可以实现对LED驱动程序,利用测试程序可以实现跑马灯效果。
小键盘驱动程序?
鼠标驱动程序?
下一步?
数码管驱动程序?
声卡驱动程序?
Mplayer播放程序在2410上的移植?
4.20                           昨晚遇到了一个怪现象。在用TFTP装入内核后,运行Linux时,误将go 30008000 输入为300008000后,板子不能启动了。重新启动后,PPCBOOT也没有了。
 在虚拟机的Linux中用JFLASH_2410_for_Nand来重新烧也提示找不到CPU,ID=0xffffff.用JFLASH_2410_for_Nor也是同样提示。
但是在WINDOW中用ADS及HJTAG可以找到CPU并能进行调试运行。
用WINDOWS下的SJF2410也可以烧录2410loader.bin,但烧录ppcboot.bin后不能启动。
    怀疑究竟是不是NAN or Nor Flash坏了,CPU肯定没坏。
     这究竟是什么原因呢?为啥Linux下找不到CPU呢?
     经过一天的摸索,查找资料,终于意识到,JTAG是利用并口进行烧录的,而在虚拟机中没有添加并口。于是将板子接到单独的LINUX下,运行JFLASH,可以找到CPU,终于可以进行烧写了。
 

 

 

 

 

 

 

 

 

 

 

 

 

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息