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下生成要用到的MLOu-boot.img文件

Kernel

目的:得到Linux内核

进入Kernel目录,解压内核源码压缩包

自己创建myir-kernel文件夹,将解压后的文件放入此文件夹

$ cd <WORKDIR>/Kernel
$ tar -jxvf myir-kernel.tar.bz2
$ cd myir-kernel

编译内核,注意事项

  1. 需配置环境变量 INSTALL_MOD_PATH
  2. 内核修改后,内核模块要和内核 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

并在配置界面-BootloadersU-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卡制作

  1. 用光盘目录03-Tools目录下的HP USB Disk Storage Format Tool 2.0.6工具将TF卡格式化为FAT或FAT32文件系统
  2. 将光盘目录02-Images\Linux-image目录下的映像文件拷贝到TF卡中
  3. 将自己的MLOu-boot.imgzImagemyd_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开发板相关推荐

  1. AM335 嵌入式 linux,am335x开发板建立嵌入式 Linux NFS 开发环境

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 am335x开发板嵌入式开发板系统 NFS客户端的配置 首先运行在嵌入式开发板系统的 Linux 内核支持 NFS 客 户端, 运行 #make menu ...

  2. am335x开发板的疑问以及解答

    am335x开发板的疑问以及解答  分类: 嵌入式 参考文件: 1,AM335x ARM Cortex-A8 Microprocessors (MPUs) Technical Reference Ma ...

  3. AM335X开发板产品板IAC-335X-Kit

    ◆ 采用TI AM335X系列处理器,最高720MHz高速ARM Cortex-A8核心: ◆ 准确定位工业控制领域,低功耗.低成本.高集成度 核心模块+定制底板 应用: ◆ 提供管脚复用图表,客户可 ...

  4. TI Cortex-A8 AM335X开发板工控板

    ◆ 采用TI AM335X系列处理器,最高720MHz高速ARM Cortex-A8核心:  ◆ 256MB DDR2 SDRAM(RAM最大扩展至512M,批量用户定制)使较多代码程序运行成为可能: ...

  5. l28n和开发版_*** am335x开发板的疑问以及解答

    参考文件: 1,AM335x ARM Cortex-A8 Microprocessors (MPUs) Technical Reference Manual.pdf: 2,am3359.pdf: 1, ...

  6. 为工业网关打造的TI AM335x开发板介绍

    MYD-C335X-GW 是米尔电子推出的基于TI AM335x 系列处理器的嵌入式板卡,主要面向工业网关,HMI 等应用场景.该套产品由核心板MYC-C335X-GW及底板MYB-C335X-GW组 ...

  7. 基于AM335X开发板 ARM Cortex-A8——Acontis EtherCAT主站开发案例

    前 言 本文档主要说明TL335x-EVM-S评估板基于德国Acontis公司EtherCAT主站协议栈控制伺服电机的方法,内容包含有EC-Master.EC-Engineer简介.EtherCAT主 ...

  8. 创龙基于TI AM335x ARM Cortex-A8 CPU,主频高达1GHz开发板规格书,用于电力控制

    TL335x-EVM是由广州创龙基于TI ARM Cortex-A8而设计的工业级开发板.它为用户提供了SOM-TL335x核心板的测试平台,用于快速评估SOM-TL335x核心板的整体性能. TL3 ...

  9. TI AM335X几款开发板推荐

    最近,米尔科技在插针式核心板的基础上,又推出了邮票孔和金手指两种核心板,及其配套的底板,成为AM335X完整的解决方案,三块核心板: 图1 AM335X三款核心板 3款开发板提供灵活的存储配置,DDR ...

  10. AT91SAM9M10开发板

    ◆ 采用ATMEL AT91SAM9M10CPU,400M高速ARM926EJ-S核,是顶级ARM9处理器: ◆ 强大的多媒体处理单元,支持H.264, MPEG-4, MPEG-2, VC-1, H ...

最新文章

  1. 如何实现Word、PDF,TXT文件的全文内容检索?
  2. ios利用block实现回调示例
  3. 横瓜执导众程序员开展大讨论关于C、JAVA及其它主流IT技术使用情况和优点缺点。...
  4. rsync文件同步(linux-linux)
  5. php 编译ext目录下的,PHP编译安装后的目录和文件解释?
  6. 剑指offer23 从上往下打印二叉树
  7. java lombok
  8. c++ enum 枚举类型
  9. 史上最“可怕”的数学科普,能全都看懂的只有天才!
  10. Spring Cloud CLI简介
  11. 4_1网络学习第一天后感--网络数据下载
  12. php将mysql转换为json字符串_在PHP中将MySQL记录集转换为JSON字符串
  13. 富文本编辑器:editor.md
  14. 平衡小车——编码器原理及其使用
  15. 【华为OD机试真题 JS】事件推送
  16. 西数、希捷、DIY移动硬盘详细拆解,暴力解析
  17. 看一点逻辑学,试图理解一点真相
  18. 云服务器被攻击了怎么解决
  19. Flying-Saucer使用HTML或者FTL(Freemarker模板)生成PDF
  20. 【解决】移动硬盘被MAC电脑识别为只读盘

热门文章

  1. [IMX6DL][Android4.4] 超声波模块HC-SR04 Linux驱动源代码
  2. Apple_Mail 登录163邮箱账号
  3. 联想服务器无线网卡被禁用,无线网卡被禁用怎么办
  4. vue 基于eleui的自定义穿梭框Transfer
  5. win11桌面怎么添加桌面小组件 Windows11添加桌面小组件的步骤方法
  6. 《长安十二时辰》中的计算社会学 | 数据科学赋能人文创新论坛
  7. Excel 合并两列时间,中间用分隔符连接
  8. FreeBSD搭建Nginx+Apache24+php56+mysql56手把手一步步的笔记
  9. redis cluster集群架构详解(十二)- 集群通信
  10. 【js逆向爬虫】-有道翻译js逆向实战