初探MYD-AM335x开发板
MYD-AM335x(NAND)
安装工具
部署开发环境
Ubuntu 16.04 64位桌面版
$ sudo apt-get install build-essential git-core libncurses5-dev u-boot-tools
$ sudo apt-get install flex bison texinfo zip unzip zlib1g-dev gettext
$ sudo apt-get install gperf libsdl-dev libesd0-dev
$ sudo apt-get install g++ xz-utils
$ sudo apt-get install subversion
安装32位兼容库
$sudo apt-get install libc6-i386 lib32stdc++6 lib32z1
配置交叉编译工具
将官方提供的04-Linux_source文件内所有文件考入自己创建的WORKDIR文件目录下
设置交叉编译工具
$ cd WORKDIR/Toolchain
$ tar xvf gcc-linaro-5.3-2016.02-x86_64_arm-linux-gnueabihf.tar.xz
临时修改环境变量
$ export PATH=$PATH:/home/fish/WORKDIR/Toolchain/gcc-linaro-5.3-2016.02-x86_64_arm-linux -gnueabihf/bin
$ export ARCH=arm
$ export CROSS_COMPILE=arm-linux-gnueabihf-
永久修改环境变量
vi ~/.profile
在行尾添加:
export ARCH=arm
export CROSS_COMPILE=arm-linux-gnueabihf-
export PATH=$PATH:/home/fish/WORKDIR/Toolchain/ gcc-linaro-5.3-2016.02-x86_64_arm-linux-gnueabihf/bin
更新环境变量
source ~/.profile
测试环境变量是否更新成功
$echo $ARCH
arm $echo $CROSS_COMPILE
arm-linux-gnueabihf-
交叉编译器验证
$ arm-linux-gnueabihf-gcc -vUsing built-in specs. COLLECT_GCC=arm-linux-gnueabihf-gcc ……Thread model: posix gcc version 5.3.1 20160113 (Linaro GCC 5.3-2016.02)
构建系统
Bootloader
目的:得到U-Boot
进入Bootloader目录,解压U-boot源码压缩包
自己创建myir-u-boot文件夹,将解压后文件放入此文件夹
$ cd WORKDIR/Bootloader
$ tar -jxvf myir-u-boot.tar.bz2
$ cd myir-u-boot
编译u-boot
$ make distclean
$ make myd_c335x_defconfig
$ make
编译完成后,会在myir-u-boot下生成要用到的MLO和u-boot.img文件
Kernel
目的:得到Linux内核
进入Kernel目录,解压内核源码压缩包
自己创建myir-kernel文件夹,将解压后的文件放入此文件夹
$ cd <WORKDIR>/Kernel
$ tar -jxvf myir-kernel.tar.bz2
$ cd myir-kernel
编译内核,注意事项
- 需配置环境变量 INSTALL_MOD_PATH
- 内核修改后,内核模块要和内核 zImage 一起编译
$ export INSTALL_MOD_PATH=$HOME/export/rootfsa/
$ make distclean
$ make myd_c335x_defconfig
$ make zImage dtbs
$ make modules
$ make modules_install
编译完成后,会在myir-kernel/arch/arm/boot目录下生成zImage文件
在myir-kernel/arch/arm/boot/dts目录下生成设备树的二进制.dtb文件
Filesystem
进入Filesystem目录,解压文件系统压缩包
自己创建myir- buildroot文件夹,将解压后的文件放入此文件夹
$ cd WORKDIR/Filesystem/myir-buildroot/
$ make myd_c335x_defconfig
打开配置界面的命令
$ make menuconfig
配置bootloader代码来源
$ cd WORKDIR/Bootloader/myir-u-boot
$ git init
$ git add . -f
$ git commit -m "Initial Version" -a
并在配置界面-Bootloaders将U-boot Version路径替换成
/home/fish/WORKDIR/Bootloader/myir-u-boot/.git
配置Kernel代码来源同理
根据自己需求再在配置界面进行相应更改
最后编译
$ make
等待很长一段时间后,在
WORKDIR/Filesystem/myir-buildroot/output/images
下得到bootloader,kernel,以及各种格式的文件系统镜像
系统更新
使用NAND Flash启动
Nand启动映像的更新需要借助于u-boot来完成。不管NAND Flash是否有数据,都可以利用TF卡启动的u-boot 对NAND Flash更新映像。
TF卡制作
- 用光盘目录03-Tools目录下的HP USB Disk Storage Format Tool 2.0.6工具将TF卡格式化为FAT或FAT32文件系统
- 将光盘目录02-Images\Linux-image目录下的映像文件拷贝到TF卡中
- 将自己的MLO,u-boot.img,zImage,myd_c335x.dtb,rootfs.ubi文件拷贝到TF卡进行替换
更新
将带有系统映象的TF卡插入开发板,连接对应板子设置启动方式的跳线帽的1-2脚,上电启动,在u-boot 的提示读秒处,按下键盘上任意键进入u-boot
出现MYIR>#表示进入u-boot命令行
U-Boot 2016.05 (Jan 09 2017 - 19:37:43 +0800) Watchdog enabled I2C: ready DRAM: 512 MiB NAND: 512 MiB MMC: OMAP SD/MMC: 0, OMAP SD/MMC: 1 *** Warning - bad CRC, using default environment Net: cpsw Press SPACE to abort autoboot in 2 seconds
MYIR>#
若u-boot分区有调整,需输入nand erase.chip擦除整个NAND Flash,无则直接下一步
MYIR># nand erase.chip NAND erase.chip: device 0 whole chip Erasing at 0x1ffe0000 -- 100% complete. OK
进入u-boot命令行后,输入run updatesys
MYIR># run updatesys switch to partitions #0, OK mmc0 is current device reading MLO 55092 bytes read in 10 ms (5.3 MiB/s) NAND write: device 0 offset 0x0, size 0xd734 55092 bytes written: OK reading myd_c335x.dtb 39229 bytes read in 10 ms (3.7 MiB/s)NAND write: device 0 offset 0x80000, size 0x993d 39229 bytes written: OK reading u-boot.img 321300 bytes read in 34 ms (9 MiB/s) NAND write: device 0 offset 0xc0000, size 0x4e714 321300 bytes written: OK reading zImage 4480016 bytes read in 396 ms (10.8 MiB/s) NAND write: device 0 offset 0x200000, size 0x445c10 4480016 bytes written: OK reading rootfs.ubi 24248320 bytes read in 2111 ms (11 MiB/s) NAND write: device 0 offset 0xa00000, size 0x1720000 24248320 bytes written: OK
MYIR>#
再次出现MYIR>#,断电拔出TF卡,连接对应板子设置启动方式的跳线帽的2-3脚,重新上电,即可从Nand Flash启动,输入账户名root登录
初探MYD-AM335x开发板相关推荐
- AM335 嵌入式 linux,am335x开发板建立嵌入式 Linux NFS 开发环境
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 am335x开发板嵌入式开发板系统 NFS客户端的配置 首先运行在嵌入式开发板系统的 Linux 内核支持 NFS 客 户端, 运行 #make menu ...
- am335x开发板的疑问以及解答
am335x开发板的疑问以及解答 分类: 嵌入式 参考文件: 1,AM335x ARM Cortex-A8 Microprocessors (MPUs) Technical Reference Ma ...
- AM335X开发板产品板IAC-335X-Kit
◆ 采用TI AM335X系列处理器,最高720MHz高速ARM Cortex-A8核心: ◆ 准确定位工业控制领域,低功耗.低成本.高集成度 核心模块+定制底板 应用: ◆ 提供管脚复用图表,客户可 ...
- TI Cortex-A8 AM335X开发板工控板
◆ 采用TI AM335X系列处理器,最高720MHz高速ARM Cortex-A8核心: ◆ 256MB DDR2 SDRAM(RAM最大扩展至512M,批量用户定制)使较多代码程序运行成为可能: ...
- l28n和开发版_*** am335x开发板的疑问以及解答
参考文件: 1,AM335x ARM Cortex-A8 Microprocessors (MPUs) Technical Reference Manual.pdf: 2,am3359.pdf: 1, ...
- 为工业网关打造的TI AM335x开发板介绍
MYD-C335X-GW 是米尔电子推出的基于TI AM335x 系列处理器的嵌入式板卡,主要面向工业网关,HMI 等应用场景.该套产品由核心板MYC-C335X-GW及底板MYB-C335X-GW组 ...
- 基于AM335X开发板 ARM Cortex-A8——Acontis EtherCAT主站开发案例
前 言 本文档主要说明TL335x-EVM-S评估板基于德国Acontis公司EtherCAT主站协议栈控制伺服电机的方法,内容包含有EC-Master.EC-Engineer简介.EtherCAT主 ...
- 创龙基于TI AM335x ARM Cortex-A8 CPU,主频高达1GHz开发板规格书,用于电力控制
TL335x-EVM是由广州创龙基于TI ARM Cortex-A8而设计的工业级开发板.它为用户提供了SOM-TL335x核心板的测试平台,用于快速评估SOM-TL335x核心板的整体性能. TL3 ...
- TI AM335X几款开发板推荐
最近,米尔科技在插针式核心板的基础上,又推出了邮票孔和金手指两种核心板,及其配套的底板,成为AM335X完整的解决方案,三块核心板: 图1 AM335X三款核心板 3款开发板提供灵活的存储配置,DDR ...
- AT91SAM9M10开发板
◆ 采用ATMEL AT91SAM9M10CPU,400M高速ARM926EJ-S核,是顶级ARM9处理器: ◆ 强大的多媒体处理单元,支持H.264, MPEG-4, MPEG-2, VC-1, H ...
最新文章
- 如何实现Word、PDF,TXT文件的全文内容检索?
- ios利用block实现回调示例
- 横瓜执导众程序员开展大讨论关于C、JAVA及其它主流IT技术使用情况和优点缺点。...
- rsync文件同步(linux-linux)
- php 编译ext目录下的,PHP编译安装后的目录和文件解释?
- 剑指offer23 从上往下打印二叉树
- java lombok
- c++ enum 枚举类型
- 史上最“可怕”的数学科普,能全都看懂的只有天才!
- Spring Cloud CLI简介
- 4_1网络学习第一天后感--网络数据下载
- php将mysql转换为json字符串_在PHP中将MySQL记录集转换为JSON字符串
- 富文本编辑器:editor.md
- 平衡小车——编码器原理及其使用
- 【华为OD机试真题 JS】事件推送
- 西数、希捷、DIY移动硬盘详细拆解,暴力解析
- 看一点逻辑学,试图理解一点真相
- 云服务器被攻击了怎么解决
- Flying-Saucer使用HTML或者FTL(Freemarker模板)生成PDF
- 【解决】移动硬盘被MAC电脑识别为只读盘
热门文章
- [IMX6DL][Android4.4] 超声波模块HC-SR04 Linux驱动源代码
- Apple_Mail 登录163邮箱账号
- 联想服务器无线网卡被禁用,无线网卡被禁用怎么办
- vue 基于eleui的自定义穿梭框Transfer
- win11桌面怎么添加桌面小组件 Windows11添加桌面小组件的步骤方法
- 《长安十二时辰》中的计算社会学 | 数据科学赋能人文创新论坛
- Excel 合并两列时间,中间用分隔符连接
- FreeBSD搭建Nginx+Apache24+php56+mysql56手把手一步步的笔记
- redis cluster集群架构详解(十二)- 集群通信
- 【js逆向爬虫】-有道翻译js逆向实战