tiny4412学习(一)之从零搭建linux系统

发布者:码农侠最新更新时间:2022-01-11 来源: eefocus关键字:tiny4412  搭建  linux系统 手机看文章 扫描二维码
随时随地手机看文章
  • 硬件平台:tiny4412

  • 系统:linux-3.5-20151029

  • 文件系统:busybox-1.22.1.tar.bz2

  • 编译器: arm-linux-gcc-4.5.1

 

目的:

使用uboot引导Linux系统,并挂接根文件系统,搭建起linux开发环境。

 

由于友善支臂提供的minitools不是开源,使用起来很不舒服。本文将记录从零使用uboot在tiny4412上搭建linux系统的。由于之前只是学了2440,完成这个流程也遇到各种,现在总结如下。其中参考了多篇博客才得以实现,具体涉及的时候会给出链接。

http://www.arm9home.net/read.php?tid-80810.html。也可以使用这篇博客体提供的uboot:http://blog.csdn.Net/lizuobin2/article/details/52825033

下载后配置,编译即可产生uboot。

本人使用的uboot下载链接:http://download.csdn.net/detail/fengyuwuzu0519/9886366

 

  1. tar xzf uboot_tiny4412-20130729.tgz  

  2. cd uboot_tiny4412  

  3. make tiny4412_config  

  4. make  

 

编译 用于生成bl2 的工具

  1. cd sd_fuse;  

  2. make  

 

假设SD卡已被PC Linux识别为/dev/sdc, 以root用户运行以下命令即可:

  1. cd sd_fuse/tiny4412  

  2. ./sd_fusing.sh  /dev/sdc  

 

到此我们准备好了

(1) 内核

(2) 文件系统

(3) Uboot

接下来就是如何下载,并启动内核,挂接文件系统了。

http://blog.sina.com.cn/s/blog_69dd1a09010196bf.html

http://blog.csdn.net/u011452544/article/details/39393857

http://blog.csdn.net/morixinguan/article/details/70478650

1.首先解压缩文件:
# tar xvf dnw_for_linux.tar.gz
另:在Ubuntu下右键解压也很方便

目录如下:
dnw_linux/
dnw_linux/secbulk/
dnw_linux/secbulk/Makefile
dnw_linux/secbulk/secbulk.c
dnw_linux/dnw/
dnw_linux/dnw/dnw.c
其中secbulk.c是PC端USB驱动, dnw.c是写入工具

2 编译并加载secbulk.c内核模块

$cd secbulk
$make -C /lib/modules/`uname -r`/build M=`pwd` modules
编译成功后在当前目录下可以看到secbulk.ko

3.编译完成后,会生成secbulk.ko文件:
# ls
Makefile       Module.symvers  secbulk.ko     secbulk.mod.o
modules.order  secbulk.c       secbulk.mod.c  secbulk.o

4.加载模块到Linux内核:
# sudo insmod ./secbulk.ko        (注意要在root权限下)
# dmesg        (查看是否加载成功)
secbulk:secbulk loaded

usbcore:registered new interface driversecbulk        (看到这样两行就说明成功了)

开机的时候不会自动加载.ko文件,这样每次都要先加载才可以使用,此时将其加入开机脚本,
使其得到自动加载,编辑/etc/init.d/rc.local 在最后加上 insmod /所在路径/secbulk.ko。

5.下面开始编译dnw工具
# cd ../dnw
# gcc -o dnw dnw.c

(编译完成,会看到dnw可执行文件)

6.将文件copy到/usr/local/bin目录
# sudo cp dnw /usr/local/bin
这样就可以在shell下面直接使用dnw命令了

但是问题出现了,当我使用这个dnw下载bl2.bin的时候,会出现校验错误。但是下载其他文件均没有问题,于是网上各种寻找DNW工具,看安装,最后通过和另一个版本的DNW结合,解决了这个问题,uboot也完整的下载到了emmc中。下载链接:http://download.csdn.net/detail/fengyuwuzu0519/9886362。

(6)DNW下载好了,我们可以把uboot下载到emmc了。

#uboot:emmc open 1
提示:eMMC OPEN Success.!!

上面提示emmc开启成功,注意说明,emmc一旦打开,需要连续烧录,烧录完成后可以关闭emmc

#uboot:dnw
提示:OTG cable Connected!

Now, Waiting forDNW to transmit data(等待DNW下载)

打开虚拟机,进入uboot所在目录

cd /work/uboot_tiny4412

dnw  sd_fuse/tiny4412/E4412_N.bl1.bin

此时u-boot中断会提示传送校验完成,此时已经把bl1.bin通过USB传送到了memeory的0xc0000000起始地址,大小8KB.

接下来我们烧录bl1.bin到eMMC中,u-boot下继续输入:
#uboot:mmc write 1 0xc0000000 0 0x10
会提示写入信息,说明已经写入成功。这个是把刚才从PC端通过dnw下载下来的bl1.bin固件下载到emmc中,起始0, 16个block, 一个block是512B, 16*512=8*1024=8KB. 这个是bl1.bin的存放位置。
以此类推,烧录bl2.bin. u-boot.bin, tzsw.bin

#uboot:dnw

#虚拟机:dnw sd_fuse/tiny4412/bl2.bin

#uboot:mmc write 1 0xc0000000 0x10 0x1C

#uboot:dnw

#虚拟机:dnw u-boot.bin

#uboot:mmc write 1 0xc0000000 0x30 0x21D

#uboot:dnw

#虚拟机:dnw sd_fuse/tiny4412/E4412_tzsw.bin

#uboot:mmc write 1 0xc0000000 0x2c0 0xB8

启动分区到此全部写入完成,注意一定要关闭emmc
u-boot下继续输入:
#uboot:emmc close 1
提示:eMMC CLOSE Success.!!

现在uboot已经完整的烧入到emmc,我们可以将开关波动到NAND一侧,从emmc启动,发现uboot输出已经变成了:

 

http://blog.csdn.net/lizuobin2/article/details/52825033

内核下载我们采用fastboot下载,uboot已经支持了fastboot。

安装windows下fastboot工具

如果你已经安装了Android Studio,那么你已经有fastboot工具,在目录

F:AndroidSDKplatform-tools下有fastboot.exe AdbWinApi.dll

我也提供一下fastboot下载链接:http://download.csdn.net/detail/fengyuwuzu0519/9886552

下载我们进入uboot,执行fastboot,并将单板的usb接到PC。提示如下:


 

windows下cmd进入fastboot.exe所在目录

fastboot flashkernel zImage(正常下载)

fastboot flashramdisk ramdisk-u.img(正常下载)

fastboot flash fatrootfs_qtopia_qt4.img (下载始终出错,于是放弃光盘的文件系统,使用自制的文件系统)

fastboot reboot 

此时,我们已经将uboot、内核下载到单板中。

参考:http://blog.csdn.net/lizuobin2/article/details/52825033

2.3、设置uboot启动参数,启动内核,并挂接网络文件系统

uboot启动参数:
set gatewayip  192.168.1.1
set ipaddr     192.168.1.125   //板子的IP
set serverip   192.168.1.123   //PC机IP

set bootargs "root=/dev/nfsnfsroot=192.168.1.123:/work/nfs/filesystem ip=192.168.1.125console=ttySAC0,115200 lcd=S70 ctp=2"

save

set bootcmd moviread kernel 0 40008000;movi read rootfs 0 41000000 100000;bootm 4000800041000000

reset  

内核启动信息:

 


关键字:tiny4412  搭建  linux系统 引用地址:tiny4412学习(一)之从零搭建linux系统

上一篇:tiny4412 裸机程序 九、串口排查驱动原因及字符图片显示
下一篇:分享tiny4412,emmc烧录u-boot, 支持fastboot模式烧写emmc

推荐阅读最新更新时间:2024-11-11 10:29

【技术支持】ARM9开发板Qt环境的搭建
注意:不要使用自带或使用apt-get 安装的 QT,如有,则删除。开发板须能挂载NFS。本文采用了别人的教材,只是自己稍加上修改,因为刚开始找文件做的时候发现很多容易出错的,这里都加以说明了 所需原文件: a. arm-linux-gcc-3.4.1.tar.bz2 b. Qt-4.6.3-arm.tar.bz2 c. Qt-4.6.3-x86.tar.bz2 d. Qt-4.7.0.tar.bz2 e. Qt-sdk-linux-x86-opensource_2010.02.bin f. tslib-1.4.tar.gz 操作步骤: 1、检查电脑上有没有g++ : g++ --version
[单片机]
51单片机的在线仿真环境搭建
1.单击Project- NewuVision Project 2.输入工程名称,点击保存,工程名称支持中文 3.输入AT89C52,选中Microchip中的AT89C52,单击确定 4.鼠标右键单击Source Group1,选择Add New Item to Group … 选择C File,输入文件名和文件存储路径,单击Add,将c文件添加进工程当中 6.此时Project窗口会显示出工程中存在的c文件 7.设置工程输出HEX文件 8.点击红色框中的选项,开启编译输出HEX文件功能 9.输入下面一段代码后编译程序 注: KEIL 默认是不支持中文的,输入中文会显示??,此时根据下图所示
[单片机]
51单片机的在线仿真环境<font color='red'>搭建</font>
第二十章、 Tiny4412 U-BOOT移植二十 增加cleanlcd命令
一、命令格式说明 关于如何命令的说明网上有好多资料,我这里仅仅简单的说明一下: U-Boot的每一个命令都是通过U_Boot_CMD宏定义的。这个宏在 include/command.h 头文件中定义。如下所示: #ifdef CFG_LONGHELP #define U_BOOT_CMD(name,maxargs,rep,cmd,usage,help) cmd_tbl_t __u_boot_cmd_##name Struct_Section = {#name, maxargs, rep,cmd, usage, help} #else / no long help info*/ #define U_BOOT_CMD(nam
[单片机]
第二十章、 <font color='red'>Tiny4412</font> U-BOOT移植二十 增加cleanlcd命令
基于Simulink搭建的双馈风力发电(DFIG)模型
1、双馈风力发电机 双馈异步风力发电机(DFIG)是一种绕线式感应发电机,是变速恒频风力发电机组的核心部分。DFIG主要由两大部分组成,分别是冷却系统和本体:本体的组成是定子、转子以及轴承,而冷却系统则分为空空冷、水冷和空水冷三类结构。 DFIG为何称为“双馈”发电机: (1)发电机其中的定子和转子侧都参与到了电网输电的过程中; (2)实现发电机的有功功率以及无功功率进行单独的调节,对电网实施无功补偿; (3)DFIG同时囊括了异步和同步发电机的特点。 2、双馈异步风力发电机的数学模型 DFIG风电系统由电气子系统以及机械子系统两大核心构成。机械子系统是由齿轮箱、风机以及部分组件组成的;而电气子系统由网侧和机侧这两部分组成。网
[嵌入式]
基于Simulink<font color='red'>搭建</font>的双馈风力发电(DFIG)模型
友善之臂最新版mini2440学习笔记——开发板架构和搭建开发环
这段时间一直想学习嵌入式程序设计。于是搞了一块mini2440的开发板,按照韦东山的《嵌入式Linux应用开发完全手册》,开始了我的嵌入式学习之路。 虽然网上关于mini2440的资料有一大堆,但是真正能够用得上的却不多。特别是友善最新版的mini2440上更换了新的NOR和NAND,针对这些硬件的开发资料却非常少。 我用的是友善之臂最新版mini2440,首先介绍开发板配置: 处理器:S3C2440A SDRAM: EM63A165TS NOR: SST39VF1601 (2M) NAND: K9K8G08U0E (1G) 网卡: DM9000EP 开发环境: 华硕 R455L 64位Ub
[单片机]
ADS1.2开发环境创建、编译、下载以及超级终端搭建
一、实验目的 熟悉ADS1.2开发环境,正确使用仿真调试电缆进行编译、下载、调试。 二、实验环境(主要仪器设备或主要使用的软件) 1. EL-ARM-860教学实验箱,PentiumII以上的PC机,仿真调试电缆。 PC操作系统WIN98或WIN2000或WINXP,ADS1.2集成开发环境,仿真调试电缆驱动程序 三、相关知识、实验结果与分析 1、 新项目创建过程 2、Group的创建和文件的导入 3、编译和下载 4、超级终端的设置和程序运行监视 四、实验小结 此次实验,我们初次接触了嵌入式的基本构架,从新项目的构建到程序运行,每一步都自己动手设置了一遍,从中可以发现,尽管按照实验
[单片机]
ADS1.2开发环境创建、编译、下载以及超级终端<font color='red'>搭建</font>
MSP430单片机开发环境搭建攻略
许多初学MSP430单片机的童鞋,在购买开发板之后不知道如何建立工程,编写代码并调试单片机,下面,小编将图文介绍MSP430开发环境搭建。 一、安装IAR IDE 首先安装IAR for MSP430 编译器,可以到IAR官网下载;可以选择试用版本亦或是下载后破解软件; 二、建立工程 打开IAR for MSP430软件,点击Project/Create New Project...在弹出菜单中选择C/main点击确定后,便创建好工程,可在左边工程管理器看到,在main.c中便可以编写代码; 三、设置调试(Debug)参数 在建立工程并编写代码后,在调试之前需要设置基本信息,如下图所示,需要设置
[单片机]
MSP430单片机开发环境<font color='red'>搭建</font>攻略
技术干货丨仙工智能(SEER)是如何做到快速有效地搭建安全AMR系统?
上月底获得SGS颁发CE认证的仙工智能(SEER)无人搬运底盘AMB-300XS,其优秀在哪里?答案便是安全。 作为AMR,第一要素便是安全,而今日小编特意邀请到我司资深产品经理详细为大家解读,如何真正做到快速有效地搭建安全AMR系统。 以下内容依据作者自身在安全AMR认证工作中体会和经验,从如何选择安全AMR系统所需硬件元器件、如何搭建安全等级回路以及借助SYSTEMA分析工具验证系统整体安全分数等级来说明如何在已有的AMR系统上搭建符合安全规范的AMR硬件系统。 本文以工程实际案例出发,以工程案例说明搭建安全AMR硬件平台的方法。设计中因参考的安全标准条目太多。这里列出方法所依据的参考标准如下:EN1525-1998、IEC
[机器人]
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved