一、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。

  1. SAM-BA在windows下安装运行,然后通过micro USB线将开发板(J12)与PC相连并将电源开关拨到USB供电。

  2. 将开发板上的JP3、JP4两个跳线断开,然后重启开发板(顺序不可颠倒)

第一次连接开发板时会提示安装开发板驱动,安装目录在SAM-BA的安装路径drv下。

  1. 利用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

  1. 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开发环境相关推荐

  1. Eclipse和PyDev搭建完美Python开发环境(Windows篇)(转)

    摘要:本文讲解了用Eclipse和PyDev搭建Python的开发环境. 十一长假在家闲着没事儿,准备花点时间学习一下Python. 今儿花了一个下午搭建Python的开发环境,不禁感叹----开源的 ...

  2. 使用IntelliJ IDEA 13搭建Android集成开发环境(图文教程)

    ​[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/ ...

  3. 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开发的话,搭建开发环境将是一个门槛.以前一直 ...

  4. 使用Android Studio搭建Android集成开发环境

    一.Android Studio简单介绍 2013年GoogleI/O大会首次发布了Android Studio IDE(Android平台集成开发环境).它基于Intellij IDEA开发环境,旨 ...

  5. 搭建Eclipse+MyEclipse开发环境

                                                               搭建Eclipse+MyEclipse开发环境 一.安装JDK 首先下载JDK 5 ...

  6. Xamarin Andro教程搭建Xamarin Androidid开发环境(一)

    Xamarin Andro教程搭建Xamarin Androidid开发环境(一) "工欲善其事,必先利其器".对于程序员来说,编程的环境就是其手中的利器.如果没有一个合适方便的编 ...

  7. Windows下Eclipse和PyDev搭建完美Python开发环境

    Windows下Eclipse和PyDev搭建完美Python开发环境 之前安装Eclipse,JDK,Python什么的就不说了.直接从安装PyDev开始(借用了几张别人的图): 打开Eclipse ...

  8. 计算机系统的搭建步骤,电脑搭建Node.js开发环境的操作教程[多图]

    电脑如何搭建Node.js开发环境?近日有用户询问怎么在Win7系统电脑上搭建Node.js开发环境,今天教程之家就给大家分享Node.js开发环境的搭建教程. 操作步骤: 1.下载Node.js官方 ...

  9. 搭建Java ME 开发环境

    搭建Java ME 开发环境: 1)http://www.newsmth.net/pc/pccon.php?id=2206&nid=216771  //J2ME 开发环境部署   2)JDK官 ...

  10. 搭建JAVA可视化开发环境

    搭建JAVA可视化开发环境需要如下步骤: 1.下载安装Eclipse 2.下载安装EMF插件 3.下载安装GEF插件 4.下载安装VE插件 5.使用 1.下载安装Eclipse 返回 下载地址:htt ...

最新文章

  1. SDCC 2016 中国软件开发者大会盛大开幕
  2. df命令、du命令、磁盘分区(fdisk命令)
  3. reporting services 导出pdf格式优化
  4. linux遭入侵挖矿进程被隐藏案例分析
  5. python刚开始学什么_刚入门的时候,你们都是怎么开始学Python的呢?
  6. 蜻蜓FM战略项目经理程彤博:真实需求背后的供给关系
  7. Qt 实现数据协议控制--组帧、组包、解析帧、解析包
  8. “玩转课堂”基本构想
  9. 最大字段和---C语言实现
  10. 为什么你一直在写bug?原因找到了
  11. 让textbox紧贴IME
  12. shell脚本读取csv文件_shell命令实现txt文件转换为csv文件 | 学步园
  13. visio业务流程图教学_用visio软件怎样画数据流程图和业务流程图?
  14. android冷暖色调节
  15. Metrics 入门教程
  16. XPDL学习与分享 二 XPDL整体结构
  17. Robcup2D足球学习记录【2020.01.18】
  18. 3dmax顶点动画导入unity_从3dmax如何导入物体到unity3d
  19. 【相机标定系列】相机sensor传感器尺寸,CMOS靶面尺寸,分辨​率​和​镜头​焦距,畸变处理效果,相机主点
  20. 图像修复 2021 最新综述——附综述论文分享

热门文章

  1. 数据结构的基本概念(ADT 抽象数据类型 数据结构三要素)
  2. 只需3步把VSCode打造成Markdown编辑器
  3. outlook2016 打不开超链接
  4. 解释:为什么scanf被跳过或不执行
  5. Nginx入门以及开源博客Tale的部署
  6. python代码变成so
  7. 如何在Oracle官网下载旧版本的JDK
  8. 计算机网络试卷华师,2020华师网上考试参考答案计算机网络A-81111005.docx
  9. 一个简单的显示阴历的日历。
  10. matplotlib plot pie