Talk:Mini Board
Contents
常见问题解答FAQ
欢迎您使用“编辑”功能在网页上提问或解答问题,我们也会尽一切努力提供解答和帮助,您的提问会帮助我们完善技术支持,也会方便其他用户的使用,在此表示感谢!!(请您在问题前面加上一个英文分号,那样更醒目)
嵌入式Linux系统的开发环境(Ubuntu虚拟机的使用)
- -你们(RealtimeDSP)提供的嵌入式Linux系统开发环境是怎样的?
- 由于TI的达芬奇系列和OMAP系列芯片采用ARM,DSP或ARM+DSP结构形式,所以在开发具有ARM核的相关芯片嵌入式系统时需要一个好用的并且功能强劲的Linux开发环境.一般地,用户可采用的开发环境可以是a)Linux主机 b)Windows+Cygwin c)Windows+VM 这三种形式,第一种是比较专业的做法,要求开发者熟悉所使用的Linux系统的各种操作,使用Linux就象使用Windows一样熟练;第二种的使用习惯倾向于操作Windows;第三种是前两种的兼顾,适用于大多数开发者.这也就是RealtimeDSP在选择开发平台时所考虑的——它要能适用于绝大多数用户,兼顾Linux和Windows操作而且还能共享文件和工具.经过反复对比,我们最终决定选用方案c:Windows(XP/Vista)+VM(VirtualBox)+Ubuntu
- -虚拟机(VM)有许多种,为何要选用VirtualBox?
- 首先它适用,各项所需要用到的功能我们均进行了测试,并认为比较好用;其次它免费,由于它是一款开源软件,下载和使用它均是免费的,这也是Linux系统的一贯精神;再次它强大,您可以试着访问一下它的网站,可以了解到VirtualBox在不断完善,更新中,这也说明它有一个强劲的支持团队做为后盾,富有生命力和活力,用户也越来越多;最后它轻便,轻量级的安装包和占用系统资源,安装简易,配置灵活,适用于各种硬件配置.我相信,VirtualBox将会越来越流行.
- -可选用的Linux发行版有许多种,为何选用Ubuntu?
- 访问一下Ubuntu网站或在Google上查一下,您就会得知Ubuntu(读作“乌班图”)越来越火了,且不说它即将在嵌入式系统中有所做为,只是看一看许多笔记本电脑在销售时可选预装Ubuntu这种情况,就可以了解它足够稳定和流行了.在选择Ubuntu做为开发系统操作环境的时候,我们考虑了它的的特点:稳定,先进,功能强大完备,有强劲的支持团队,用户众多,免费,流行,最后是:适用。由于上述特点,在互联网上有关Ubuntu使用和设置的信息非常丰富,也有众多的参考书籍可以查阅.让我们一起来Ubuntu一下吧!
- -开发环境都提供什么功能?
- 我们通过提供一个虚拟机安装盘使用户能简易地安装和设置嵌入式Linux系统的开发环境.在虚拟机中运行的Ubuntu环境下,会预装嵌入式系统的编译环境(交叉编译器及相关工具),板卡软件开发包(SDK,包含Bootloader,Kernel和Demo程序的全部源码及说明文档),开发系统还提供ftp或tftp服务,NFS服务做为辅助开发手段,另外已配置好的系统还能与Windows进行便易的数据交互;在安装光盘上还有TI相关文档和数据手册,附加的测试和示例程序(源码),使用手册,系统板原理图等.另外通过技术支持,您还能得到更多的技术文档,测试程序等.
- -如何制作fat32和ext3双分区SD卡?
- 我们从一块新的SD卡开始,将它插入到读卡器中并连接到开发主机的USB插座上
- 【Linux主机或虚拟机】这里假设读卡器连接后的设备为sdb,首先umount掉sdb相关分区,然后继续操作
- 请参考card setup article直至完成fdisk操作
- 再到Windows中将此卡上fat32分区格式化一次(不知为何非要有此步骤,否则SD卡启动不正常,也许是Ubuntu的问题?)
- 这样SD卡就准备好了,如果复制正确的系统文件即可在MiniBoard上启动
- -VirtualBox如何与windows进行文件目录共享:启动linux虚拟机,确认 /mnt/windows存在,如果不存在,建立目录
sudo mkdir /mnt/windows
- 执行如下指令实现文件目录共享
sudo mount -t vboxsf share /mnt/windows sudo mount -a
- 此时,linux可以通过/mnt/windows目录与windows交换文件
- 为了保证每次启动计算机都可以共享目录,执行如下操作,以后每次启动都可以直接使用文件交换功能了
su root echo "share /mnt/windows vboxsf rw 0 0" >> /etc/fstab
Mini板开发环境使用
- -如何正确设置编译路径
- 请检查PATH变量,如果PATH项与下面不同则继续进行,否则您的编译路径已经设置好了
davinci@davinci-desktop:~$ export ... declare -x PATH="/opt/codesourcery/arm-none-linux-gnueabi/arm-2007q3/bin/:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" ... davinci@davinci-desktop:~$
- 在ICETEK-OMAP3530-Mini系统所配的Ubuntu开发环境中进行以下操作:
davinci@davinci-desktop:~$PATH="/opt/codesourcery/arm-none-linux-gnueabi/arm-2007q3/bin/:$PATH"
- 编辑/home/davinci/.bashrc文件
davinci@davinci-desktop:~$gedit .bashrc
- 在文件末尾添加如下行并保存退出
export PATH="/opt/codesourcery/arm-none-linux-gnueabi/arm-2007q3/bin/:$PATH"
- -如何恢复ICETEK-OMAP3530-Mini系统配置的DemoSD卡
- 需要使用ICETEK-OMAP3530-Mini系统配的开发环境
- 准备一块SD卡,按照上面介绍的将SD制成双分区并格式化好,将它插入读卡器并连接到开发主机上
- 在【uBuntu】中如下操作:
davinci@davinci-desktop:~$ cd ICETEKWork/Demos davinci@davinci-desktop:~/ICETEKWork/Demos$ sudo cp DemoSD/fat32/MLO /media/FAT32 davinci@davinci-desktop:~/ICETEKWork/Demos$ sync davinci@davinci-desktop:~/ICETEKWork/Demos$ sudo cp DemoSD/fat32/* /media/FAT32 davinci@davinci-desktop:~/ICETEKWork/Demos$ sudo cp -a DemoSD/ext3/* /media/EXT3 davinci@davinci-desktop:~/ICETEKWork/Demos$ sync
- 等待所有数据均写入SD卡后即可使用
- -如何制作从NandFlash启动的系统
- 如果已经做过启动卡,可将此卡插入读卡器后在Ubuntu中用文件浏览器删除卡上FAT32分区中除MLO文件外所有文件,删除EXT3分区中所有文件及子目录,跳过下面制作新卡的这一步继续
- 制作SD系统启动卡(请参照[ICETEK-OMAP3530-Mini使用手册 第三章 一]进行操作)
- 重新编译XLoader,生成新的x-load.bin.ift
- 按照[ICETEK-OMAP3530-Mini使用手册 第二章 二]进行操作.在进行到其中的步骤4的最后时,请将定义CONFIG_MMC句注释
- 复制启动盘软件
- 在Ubuntu中插入读卡器,使系统识别FAT32分区和EXT3分区并在桌面上显示相应图标(如果分区名称有不同,请在下面操作中根据相应的映射位置调整命令内容中相关部分)
- 启动Ubuntu中终端,进行如下操作
...$ sync ...$ cd ~/ICETEKWork/Demos/WorkSD ...$ sudo cp fat32/* /media/FAT32 ...$ sudo cp -a ext3/* /media/EXT3 ...$ sudo mkdir /media/EXT3/work/fs ...$ sudo cp -a ext3/* /media/EXT3/work/fs ...$ sync
- 将上面新生成的x-load.bin.ift复制到SD卡的FAT32分区
- 卸载SD卡
- 启动ICETEK-OMAP3530-Mini系统
- 在断电情况下,将SD卡插入Mini板J14,连接串口,在Windows中打开超级终端程序
- 接通电源,观察超级终端中的显示,在UBoot计数时按空格键停止.(如果超级终端中显示Xloader从SD卡启动并停止在Loading u-boot.bin from nand,请将SD卡FAT32分区用Windows格式化成FAT后重新复制系统软件到此分区)
- 烧写XLoader到NandFlash
OMAP3 Miniboard # mw.b 80000000 ff 80000 OMAP3 Miniboard # mmcinit OMAP3 Miniboard # fatload mmc 0:1 80000000 x-load.bin.ift reading x-load.bin.ift 11412 bytes read OMAP3 Miniboard # nand unlock device 0 whole chip nand_unlock: start: 00000000, length: 134217728! NAND flash successfully unlocked OMAP3 Miniboard # nand ecc hw OMAP3 Miniboard # nand erase 0 80000
- 烧写UBoot到NandFlash
OMAP3 Miniboard # mw.b 80000000 ff 200000 OMAP3 Miniboard # mmcinit OMAP3 Miniboard # fatload mmc 0:1 80000000 u-boot.bin reading u-boot.bin 212880 bytes read OMAP3 Miniboard # nand ecc sw OMAP3 Miniboard # nand erase 80000 1e0000 NAND erase: device 0 offset 0x80000, size 0x1e0000 Erasing at 0x240000 -- 100% complete. OK OMAP3 Miniboard # nand write 80000000 80000 1e0000 NAND write: device 0 offset 0x80000, size 0x1e0000 1966080 bytes written: OK NAND erase: device 0 offset 0x0, size 0x80000 Erasing at 0x60000 -- 100% complete. OK OMAP3 Miniboard # nand write 80000000 0 80000 NAND write: device 0 offset 0x0, size 0x80000 524288 bytes written: OK
- 烧写Kernel到NandFlash
OMAP3 Miniboard # mw.b 80000000 ff 400000 OMAP3 Miniboard # fatload mmc 0:1 80000000 uImage reading uImage 1856668 bytes read OMAP3 Miniboard # nand ecc sw OMAP3 Miniboard # nand erase 280000 400000 NAND erase: device 0 offset 0x280000, size 0x400000 Erasing at 0x660000 -- 100% complete. OK OMAP3 Miniboard # nand write 80000000 280000 400000 NAND write: device 0 offset 0x280000, size 0x400000 4194304 bytes written: OK OMAP3 Miniboard # nand erase 680000 7980000 NAND erase: device 0 offset 0x680000, size 0x7980000 Skipping bad block at xxxxxxxx Erasing at 0x7fe0000 -- 100% complete. OK OMAP3 Miniboard # setenv bootcmd 'nand read 80200000 280000 400000;bootm 80200000' OMAP3 Miniboard # setenv bootargs console=ttyS2,115200n8 console=ttyS0 noinitrd root=/dev/mmcblk0p2 rootfstype=ext3 rw rootdelay=3 nohz=off OMAP3 Miniboard # save OMAP3 Miniboard # boot
- 烧写文件系统到NandFlash(在系统启动后提示Please press Enter to activate this console.此时按一下回车键进入控制台)
[MiniBoard]# mkdir /mnt [MiniBoard]# mkdir /mnt/nand [MiniBoard]# mount -t jffs2 /dev/mtdblock4 /mnt/nand [MiniBoard]# cd /mnt/nand [MiniBoard]# cp -a /work/fs/* . [MiniBoard]# sync [MiniBoard]# cd / [MiniBoard]# umount /mnt/nand
- 从NandFlash启动系统
- 给ICETEK-OMAP3530-Mini系统重新加电,停止UBoot程序运行,进入UBoot的命令行状态
- 从NandFlash启动系统
OMAP3 Miniboard # setenv bootargs 'console=ttyS2,115200N8 console=ttyS0 noinitrd root=/dev/mtdblock4 rw rootfstype=jffs2' OMAP3 Miniboard # save OMAP3 Miniboard # boot
系统的安装与测试
- -OMAP中的ARM是通过JTAG口进行程序的烧写吗?如果我要调ARM的程序,如何调试?是通过串口调,还是通过ARM的20针的JTAG口调?有什么软件吗?
- 当然可以用JTAG烧写,同时支持串口下载烧写,USB下载烧写,或直接制作SD卡启动盘(需要一个SD读卡器).如果调试的程序在linux之下,最佳的调试办法是printk,如果调试程序是一个单独的测试程序,可以用我们的560U仿真器.如果使用我们的560U,目前的软件是CodeComposerStudio
硬件设计
- -OMAP3是什么
- OMAP3系列是TI推出的通用高性能处理器,其面对的领域超越DSP所能涵盖的范围,从大范围的角度讲,现有的任何一颗通用处理器都在OMAP3的覆盖范围之内.具体地说,TI的OMAP3希望成为现有的通用嵌入式ARM的替代品.例如,在教学和研发中广泛使用的SAMSUNG S3C2410,S3C2440系列,ATMEL的AT91系列,NXP的LPC高端系列以及原来Intel的PXA270系列芯片,都是OMAP3可以替代的产品.简单说,OMAP就是高端ARM,OMAP是全能的.
- -OMAP3包含什么
- OMAP3包含的主要部分是ARM Cortex-A8,2D/3D图形加速模块和基于C64x+的DSP算法加速内核.此外,OMAP3还具有一些重要的外设如:图像捕获端口,USB HighSpeed2.0 HOST,USB HS OTG等硬件外设.
其他问题
- -Can we have an English version of this article, too? Dirk
- 感谢Dirk为我们的网页添加google英文翻译链接!
- -ICETEK-OMAP3530-MINI第三版什么时间能够发售?会和现在的版本有些什么区别?
- Mini Board的V3版的改进部分和发布时间,暂不确定。