搭建MYS-SAM9X5开发环境
一、MYS-SAM9X5概述
MYS-SAM9X5是基于AT91SAM9X35处理器的单板机,处理器主频达400MHz。该设备带有256MBNandFlash、4MBDataFlash、以及128MB的DDR2SDRAM。支持Linux2.6.39等操作系统;具有USB2.0、音频输入、音频输出、LCD接口、CAN接口、10/100Mbps以太网接口、JTAG调试接口、串口、以及MicroSD卡接口等。
二 开发环境搭载。
板卡带有一块256M的NandFlash,启动所需的Bootstap,uboot,u-bootenv分别放在NandFlash的0x0,0x4000,0xc000中。Linux启动所需的uImage,UBIFS分别存放在0x200000,0x800000中。
1.在裸版环境下烧写
厂家提供了下载工具SAM-BA,该工具可在裸机环境下烧写Bootstap,uboot,u-bootenv,uImage,UBIFS。
SAM-BA在windows下安装运行,然后通过micro USB线将开发板(J12)与PC相连并将电源开关拨到USB供电。
将开发板上的JP3、JP4两个跳线断开,然后重启开发板(顺序不可颠倒)
第一次连接开发板时会提示安装开发板驱动,安装目录在SAM-BA的安装路径drv下。
利用SAM-BA手动下载,先将板卡上JP3断开重启,然后打开SAM-BA,配置正确参数进去主界面。根据需要烧写Bootstap,uboot,u-bootenv,uImage,UBIFS在指定位置。
2.Linux环境下搭载开发环境
(1)连接开发板电源线,串口线及网线。拨到电源供电。
(2)运行gtkterm
打开终端,输入
Sudo gtkterm -p /dev/ttyUSB0 -s115200
开发板进入uboot启动界面。若在已经将 Bootstap,uboot,u-bootenv,uImage,UBIFS放在nand中,则可完成自启动。
(3)配置tftp服务器
安装tftp的服务端和客户端:
sudoapt-get install tftpd-hpa 安装tftp服务端
sudoapt-get install tftp-hpa 安装tftp客户端
安装xinetd
sudoapt-get install xinetd
vim /etc/xinetd.d/tftp
disable = no
server_args = -s /tftpboot
重启xinetd服务
sudo/etc/init.d/xinetd restart
重启tftpd服务
sudo/etc/init.d/tftpd-hpa restart
启动服务
sudo service tftpd-hpa restart
(4)下载内核到开发板,并启动内核
将编好的uImage放入/tftpboot下,在uboot环境下输入
tftpboot 0x22000000 uImage
bootm 0x22000000
(5)配置nfs
sudo apt-get install portmapnfs-kernel-server
mkdir /nfsroot
chmod 777 /nfsroot
vim /etc/exports加入
/nfsroot *(rw,sync,no_root_squash)
测试:
mount 127.0.0.1:/nfsroot /mnt
mount
umount /mnt
(6)将ubifs挂载在/nfsroot上
sudo modprobe nandsimfirst_id_byte=0xec second_id_byte=0xda \
third_id_byte=0x10fourth_id_byte=0x95
若执行成功将可以在/dev/目录下找到mtd0和mtd0r0两个设备:
# ls /dev/mtd*
/dev/mtd0 /dev/mtd0ro
擦除 mtd0,操作如下:
# sudo flash_eraseall /dev/mtd0
flash_eraseall has been replaced by`flash_erase <mtddev> 0 0`; please use it
Erasing 128 Kibyte @ ffe0000 -- 100% complete
Angstrom-x11-at91sam9-image-eglibc-ipk-v20110624-at91sam9x5ek.rootfs.ubi装入新建的mtd0分区,这里用到dd命令 进行装入,如下:
sudo dd
if=Angstrom-x11-at91samg-image-eglibc-ipk-v20110624-at91sam9x5ek.rootfs.ubi of=/dev/mtd0
挂载 UBIFS文件系统
完成以上步骤之后,加载ubi模块并attach到mtd0中,便可以像挂载普通的mtd设备一样挂载UBIFS文件系统。
加载 ubi模块并attach到mtd0设备:
#sudo modprobe ubi mtd=0,2048
新建一个挂载点:
# mkdir fsmount
通过以下命令进行挂载:
# sudo mount -t ubifs ubi0_0/nfsroot
# ls /nfsroot
bin boot dev etc home lib media mntproc sbin sys tmp usr var
至此我们已经在PC机上成功挂载目标板中使用的UBIFS文件系统。
(7)告诉开发板根文件系统在网络上
在开发板上,bootargs环境变量用来指定根文件系统的位置
set bootargs root=/dev/nfsnfsroot=192.168.1.108:/nfsroot ip=192.168.1.250 console=ttyUSB0
sav
tftp 0x22000000 uImage
bootm 0x22000000
如果启动成功,在gtkterm上会出现shell
(8)在uboot环境下把uboot写进nand
uboot提供一组操作nand的命令
nand erase
nand erase nand_addr_start
nand erase nand_add_start len
nand write ddr_addr nand_addr_startlen
nand_read ddr_addr nand_addr_startlen
在写nand的时候,nand内部只能是1-->0,所以在写之前必须擦除
tftp 0x10000000u-boot.bin(u-boot.bin必须放在/tftpboot下)
nand erase
nand scrub
nand write 0x10000000 0x400000x4cc00
(9)把zImage写到nand
tftp 0x22000000 zImage3.4.24
nand erase 0x200000 0x300000
nand write 0x22000000 0x2000000x300000(最后一个参数根据实际情况而定)
测试:
nand read 0x22000000 0x2000000x300000
bootm 0x22000000
bootstrap的编译方法
tar xvjf05-Linux_Source/AT91Bootstrap/AT91Bootstrap-5series_1.2.tar.bz2
-C ./
cd AT91Bootstrap-5series_1.2
make distclean \
CROSS_COMPILE=/usr/local/arm-2010q1/bin/arm-none-linux-gnueabi-
make at91sam9x5nf_defconfig
makeCROSS_COMPILE=/usr/local/arm-2010q1/bin/arm-none-linux-gnueabi-
在 binary目录 下 的at91sam9x5ek-nandflashboot-3.1.bin就是 我 们 要 烧 写 的AT91Bootstrap文件。
AT91Bootstrap 是针对ATMEL芯片的1级引导程序,它初始化一些必要的硬件(GPIO,Clock,SDRAM, etc), 然后将u-boot拷贝到SDRAM中开始运行。
(11)uboot的编译方法
cd 05-Linux_Source/U-Boot/
tar xvjf u-boot-linux.tar.bz2
cd u-boot-linux
修改/u-boot-linux/include/configs/at91sam9x5ek.h文件:
将 91行的CONFIG_BOOTDELAY修改为1秒,系统启动后将有1秒钟的时间等
待键盘输入: #define CONFIG_BOOTDELAY 0//1
修改为: #define CONFIG_BOOTDELAY 1
打开第 168行对CONFIG_MACB的注释,从而打开网络支持:
//#define CONFIG_MACB 1
修改为: #define CONFIG_MACB 1
执行下面命令进行编译
make distclean
make at91sam9x5ek_nandflash_config
makeCROSS_COMPILE=/usr/local/arm-2010q1/bin/arm-none-linux-gnueabi-
(12)uImage编译方法
在光盘中找到05-Linux_Source/Linux_Kernel/linux-2.6.39.tar.bz2
tar xvjf linux-2.6.39.tar.bz2
cd linux-2.6.39
修改配置环境myir_MYS-SAM9X5_4.3lcd_defconfig
vim/arch/arm/configs/myir_MYS-SAM9X5_4.3lcd_defconfig
添加两行,支持网络根文件系统
CONFIG_ROOT_NFS=y
CONFIG_IP_PNP=y
编译uImage:chmod 777make_image.sh
./make_image.sh 4.3
搭建MYS-SAM9X5开发环境相关推荐
- Eclipse和PyDev搭建完美Python开发环境(Windows篇)(转)
摘要:本文讲解了用Eclipse和PyDev搭建Python的开发环境. 十一长假在家闲着没事儿,准备花点时间学习一下Python. 今儿花了一个下午搭建Python的开发环境,不禁感叹----开源的 ...
- 使用IntelliJ IDEA 13搭建Android集成开发环境(图文教程)
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/ ...
- Eclipse 3.5 Classic+Tomcat 6.0+MySql 5.5搭建java web开发环境
Eclipse 3.5 Classic+Tomcat 6.0+MySql 5.5搭建java web开发环境 对于初学者来说,如果没有接触过java web开发的话,搭建开发环境将是一个门槛.以前一直 ...
- 使用Android Studio搭建Android集成开发环境
一.Android Studio简单介绍 2013年GoogleI/O大会首次发布了Android Studio IDE(Android平台集成开发环境).它基于Intellij IDEA开发环境,旨 ...
- 搭建Eclipse+MyEclipse开发环境
搭建Eclipse+MyEclipse开发环境 一.安装JDK 首先下载JDK 5 ...
- Xamarin Andro教程搭建Xamarin Androidid开发环境(一)
Xamarin Andro教程搭建Xamarin Androidid开发环境(一) "工欲善其事,必先利其器".对于程序员来说,编程的环境就是其手中的利器.如果没有一个合适方便的编 ...
- Windows下Eclipse和PyDev搭建完美Python开发环境
Windows下Eclipse和PyDev搭建完美Python开发环境 之前安装Eclipse,JDK,Python什么的就不说了.直接从安装PyDev开始(借用了几张别人的图): 打开Eclipse ...
- 计算机系统的搭建步骤,电脑搭建Node.js开发环境的操作教程[多图]
电脑如何搭建Node.js开发环境?近日有用户询问怎么在Win7系统电脑上搭建Node.js开发环境,今天教程之家就给大家分享Node.js开发环境的搭建教程. 操作步骤: 1.下载Node.js官方 ...
- 搭建Java ME 开发环境
搭建Java ME 开发环境: 1)http://www.newsmth.net/pc/pccon.php?id=2206&nid=216771 //J2ME 开发环境部署 2)JDK官 ...
- 搭建JAVA可视化开发环境
搭建JAVA可视化开发环境需要如下步骤: 1.下载安装Eclipse 2.下载安装EMF插件 3.下载安装GEF插件 4.下载安装VE插件 5.使用 1.下载安装Eclipse 返回 下载地址:htt ...
最新文章
- SDCC 2016 中国软件开发者大会盛大开幕
- df命令、du命令、磁盘分区(fdisk命令)
- reporting services 导出pdf格式优化
- linux遭入侵挖矿进程被隐藏案例分析
- python刚开始学什么_刚入门的时候,你们都是怎么开始学Python的呢?
- 蜻蜓FM战略项目经理程彤博:真实需求背后的供给关系
- Qt 实现数据协议控制--组帧、组包、解析帧、解析包
- “玩转课堂”基本构想
- 最大字段和---C语言实现
- 为什么你一直在写bug?原因找到了
- 让textbox紧贴IME
- shell脚本读取csv文件_shell命令实现txt文件转换为csv文件 | 学步园
- visio业务流程图教学_用visio软件怎样画数据流程图和业务流程图?
- android冷暖色调节
- Metrics 入门教程
- XPDL学习与分享 二 XPDL整体结构
- Robcup2D足球学习记录【2020.01.18】
- 3dmax顶点动画导入unity_从3dmax如何导入物体到unity3d
- 【相机标定系列】相机sensor传感器尺寸,CMOS靶面尺寸,分辨​率​和​镜头​焦距,畸变处理效果,相机主点
- 图像修复 2021 最新综述——附综述论文分享