创建一个ARM目录
mkdir   /disk/A9  -p

接下来你需要准备以下的东西
1、arm-linux-gcc-4.5.1     交叉编译器
2、linux-3.5-tiny4412      内核
3、rootfs_qtopia_qt4-20140124.tar.gz    QT文件系统 (做好的)
4、busybox-1.22.1.tar.bz2  文件系统原码  busybox
5、uboot_tiny4412-20130729.tgz   uboot
6、arm-qte-4.8.5-20131207.tar.gz   QT原码  ARM

7、uboot_tiny4412-20130729.tgz  对应的4412uboot源码

8、minicon   串口

9、安装dnw ,需要上网搜索dnw下载并安装到系统

10、一张SD卡、一条串口线、一根dnw线、一根网线

好了,该准备的我们都准备好了,接下来看如何把开发环境搭建好。

1.安装交叉编译器
cd  /disk/A9

tar -xvf  arm-linux-gcc-4.5.1

ls opt
FriendlyARM

cp opt/FriendlyARM    /opt  -r

ls /opt/FriendlyARM/toolschain/4.5.1/bin/

拷 /opt/FriendlyARM/toolschain/4.5.1/bin/
vim   ~/.bash_profile

在PATH=$PATH:$HOME/bin下面加上
PATH=$PATH:/opt/FriendlyARM/toolschain/4.5.1/bin/

保存退出    ctrl +Alt + backspace  注销

测试是否安装成功  arm-   tab tab 可以列出所有的交叉编译器就成功

2.编译uboot
cd  /disk/A9

tar  -xvf uboot_tiny4412-20130729.tgz

cd  uboot_tiny4412

make tiny4412_config

make     生成u-boot.bin   u-boot 文件

3.将编好的u-boot.bin烧写到SD卡

1>插入SD卡

2>D卡
dd if=/dev/zero  of=/dev/sdb   bs=1024 count=102400

3>烧写
cd  /disk/A9/uboot_tiny4412/sd_fuse
make
cd  tiny4412
./sd_fusing.sh   /dev/sdb

烧写完毕

配置minicom

在命令行中输入:
minicom -s

┌─────[configuration]──────┐
            │ Filenames and paths      
            │ File transferprotocols  
            │ Serial port setup          <== 选择这一项
            │ Modem and dialing        
            │ Screen and keyboard      
            │ Save setup as dfl        
            │ Save setup as..          
            │ Exit                     
            │ Exit from Minicom        
           └──────────────────────────┘

按如图所示配置
   ┌───────────────────────────────────────────────────────────────────────┐
    │ A -    Serial Device      : /dev/ttyUSB0                             
    │ B - Lockfile Location     : /var/lock                                
    │ C -   Callin Program      :                                          
    │ D - Callout Program      :                                          
    │ E -    Bps/Par/Bits       : 115200 8N1                               
    │ F - Hardware Flow Control : No                                       
    │ G - Software Flow Control : No                                       
    │                                                                      
    │   Change which setting?                                            
   └───────────────────────────────────────────────────────────────────────┘
改成这样
enter

Save setup as dfl 保存成默认
Exit              退出

退出minicom  
ctrl + a  + q  退出

然后开机界面可以看到以下打印信息:
U-Boot 2010.12 (Oct 13 2015 - 11:03:50) for TINY4412                           
CPU:    S5PC220 [Samsung SOC on SMPPlatform Base on ARM CortexA9]           
        APLL = 1400MHz, MPLL = 800MHz                                     
                                                                        
Board:  TINY4412                                                       
DRAM:   1023 MiB                                                      
vdd_arm: 1.2                                                      
vdd_int: 1.0                                                     
vdd_mif: 1.1                                                    
BL1 version:  N/A (TrustZone EnabledBSP)

Checking Boot Mode ... SDMMC
REVISION: 1.1
MMC Device 0: 3724 MB
MMC Device 1: 7456 MB
MMC Device 2: N/A
*** Warning - using default environment

Net:    No ethernet found.
Hit any key to stop autoboot:  0 
TINY4412 #

内核移殖
编好内核   zImage   给uboot引导

cd  /disk/A9

ls linux-3.5-tiny4412

tar -xvf  linux-3.5-tiny4412

cd  linux-3.5

cp  tiny4412_linux_defconfig   .config

make

最后出现
OBJCOPY arch/arm/boot/zImage
Kernel: arch/arm/boot/zImage is ready
编译成功       
arch/arm/boot/zImage

安装DNW
cd  /disk/A9/dnw-linux

make 
make install

一 . 利用dnw方式下载内核
1> minicom中
dnw 0x40008000

2>  PC中
cd /disk/A9/linux-3.5
dnw  arch/arm/boot/zImage

成功下载内核到板子

3>引导内核 ==>  启动内核
bootm 0x40008000

二 . SD卡下载内核
 1> 关电取出SD卡,并将PC机上的内核zImage拷到SD卡上的第一个分区 fat32

2> 将SD卡插入开发板并且开机

3> 查看SD卡上的内核
    fatls mmc 0:1 /      //查看第0个MMC设备 第一个分区 的分区目录

4> 读取SD卡上的内核
    fatload mmc 0:1 0x40008000  zImage

5> 引导内核
    bootm 0x40008000

三 . 自动读取SD卡上的内核并且启动

在minicom中
    set bootcmd  "fatload mmc 0:10x40008000 zImage;bootm 0x40008000"
    save

reset  查看是否会自动启动内核

四. movi 内核启动
1> DNW下载内核到板子uboot  地址0x40008000

2>写内核

movi write kernel 0 0x40008000

3> 设置自动启动
set bootcmd "movi read kernel 0 0x40008000;bootm 0x40008000"

4>  reset  自动启动内核

烧写文件系统 
1>  网络文件系统

cd /disk/A9

tar -xvf  busybox-1.22.1.tar.bz2

cd  busybox-1.22.1

make defconfig     //默认配置

make menuconfig

Busybox Settings  --->

[*] Build BusyBox as a static binary (no shared libs)                  │
[*]   Build BusyBox as a positionindependent executable (NEW)        │
[ ] Force NOMMU build                                                 │
[ ] Build shared libbusybox (NEW)                                      │
[*] Build with Large File Support (for accessing files > 2 GB)         │
(arm-linux-)  Cross Compiler prefix

保存退出

make -j4

make install   会生成一个目录   _install

制作文件系统

cd /disk/A9
mkdir filesystem

cd /disk/A9/filesystem

cp /disk/A9/busybox-1.22.1/_install/*  .-r

mkdir   etc dev opt sys tmp mnt lib proc

mkdir  etc/init.d

vim  etc/init.d/rcS
添加
mount -t ramfs none  /dev
mount -t sysfs none  /sys
mount -t proc  none  /proc
mount -t tmpfs none  /tmp
/sbin/mdev  -s
保存退出

vim  etc/inittab
添加
::sysinit:/etc/init.d/rcS
ttySAC0::askfirst:-/bin/sh
保存退出

vim  etc/profile
添加
export  PS1="[root @ cjy \W ] #"
保存退出

mknod  dev/console  c  5  1

cp /opt/FriendlyARM/toolschain/4.5.1/arm-none-linux-gnueabi/lib/*  ./lib   -r

cd ..
给权限
chmod 777 filesystem -R

发布文件系统
vim   /etc/exports
添加
/disk/A9/filesystem      *(rw,sync,no_root_squash)
保存退出

检查文件系统是否已经发布
showmount -e 192.168.88.xxx

//板子上配置IP还有bootargs

set gatewayip  192.168.88.1
set ipaddr     192.168.88.x   //板子的IP
set serverip   192.168.88.xxx   //PC机IP

save

set bootargs  "root=/dev/nfsnfsroot=192.168.88.xxx:/disk/A9/filesystem
ip=192.168.88.x console=ttySAC0,115200 lcd=S70 ctp=2"

save

reset  查看是否进入文件系统

//************************************************************
SD卡文件系统

一>
    将/disk/A9/filesystem  拷到 SD卡上的 第四个分区
    
    板子
    1> 保存nfsbootargs
    set nfsbootargs $bootargs
    save
    
    2> 
    set bootargs "root=/dev/mmcblk0p4console=ttySAC0,115200 lcd=S70 ctp=2"
    save
    
    3>
    reset 查看是否进入SD卡文件系统 
    
二>
    先进入网络文件系统
    挂载出SD卡的第四个分区
    mount /dev/mmcblk0p4  /mnt
    打包现有的文件系统
    cd /disk/A9/filesystem
    tar -cf nfs.tar *
    tar -xvf nfs.tar -C  /mnt
    umount /mnt

板子
    2> 
    set bootargs "root=/dev/mmcblk0p4console=ttySAC0,115200 lcd=S70 ctp=2"
    save
    
    3>
    reset 查看是否进入SD卡文件系统

最后一个
    将文件系统直接烧录到板子上的mmc
    1.
    将uboot烧写进去
    dnw E4412_N.bl1.bin
    
    先进入SD卡的uboot
    2.
    emmc open 1
    //      1板子上的MMC   0x40008000从哪里读  0起始块地址  0x10大小
    3.
    mmc write 1 0x40008000 0 0x10
    
    dnw bl2.bin
    4.
    mmc write 1 0x40008000 0x10 0x1C
    
    dnw u-boot.bin
    
    5.
    mmc write 1 0x40008000 0x300x1F6

6.
    emmc close 1
    
    7.
    段电,拔SD卡,选择NAND启动,上电看是否进入板子MMCuboot

烧写MMC 内核
    dnw arch/arm/boot/zImage
    
    movi write kernel 0 0x40008000
    set bootcmd "movi read kernel 00x40008000;bootm 0x40008000"
    save
    
    //分区板子上的MMC
    fdisk -p 0   查看分区信息   
    创建分区
    fdisk -c  1000 500 500
    
    直接进入网络文件系统
    set bootargs"root=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
    save

进入系统之后
    mount /dev/mmcblk0p2  /mnt
    tar -xvf nfs.tar -C /mnt
    chmod 777 /mnt/  -R
    umount /mnt 
    
    
    u-boot内
    set bootargs"root=/dev/mmcblk0p2 console=ttySAC0,115200 lcd=S70 ctp=2"
    save

reset 启动MMC内的文件系统

【Tiny4412】 Tiny4412开发环境搭建相关推荐

  1. Android环境搭建和Android HelloWorld—Android开发环境搭建

    Android_Android开发环境搭建-搭建Android的开发环境 1.我考虑先下载JDK7.0,在JDK的安装中,考虑一般SDK都是向上兼容的,于是选择了最高的版本7.0 这里是我总结的详细的 ...

  2. qt工程在linux系统里颜色显示错误_【飞凌嵌入式RK3399开发板试用体验】+QT开发环境搭建测试(二)...

    作者:飞扬的青春 在拿到开发板之后,已经体验了Android操作系统,接下来就是体验Linux下的开发,本次以QT的一个小案例来测试下. 首先是自己先搭建了一个Ubuntu18.04的虚拟机,使用真机 ...

  3. Go:分布式学习利器(1) -- 开发环境搭建 + 运行第一个go程序

    文章目录 为什么要学习 go 开发环境搭建 -- MAC 运行第一个go程序 go 函数的返回值设置 go 函数的命令行参数 为什么要学习 go 在如下几个应用场景的需求下产生了go: 超大规模分布式 ...

  4. 智能合约开发环境搭建及Hello World合约

    如果你对于以太坊智能合约开发还没有概念(本文会假设你已经知道这些概念),建议先阅读入门篇. 就先学习任何编程语言一样,入门的第一个程序都是Hello World.今天我们来一步一步从搭建以太坊智能合约 ...

  5. iPhone开发环境搭建全过程 iPhone手机开发内容,中文手册

    http://3g.edu.csdn.net/kecheng/iphone.html  iPhone手机开发内容 http://www.docin.com/p-34874880.html# iPhon ...

  6. python搭建numpy_python开发环境搭建及numpy基本属性-【老鱼学numpy】

    目的 本节我们将介绍如何搭建python的开发环境以及numpy的基本属性,这样可以检验我们的numpy是否安装正确了. python开发环境的搭建 工欲善其事必先利其器,我用得比较顺手的是Intel ...

  7. windows下pomelo开发环境搭建及JS乱码问题

    from: http://blog.csdn.net/wangqiuyun/article/details/9243263 最近一直在研究node.js这一块,为的就是使用网易的pomelo框架,学习 ...

  8. Android配置----Android开发环境搭建

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

  9. JDK安装以及开发环境搭建

    无论是Java开发.J2EE以及Android开发搭建环境时JDK开发环境搭建及环境变量配置是必不可少的,这篇文章就来就分别介绍下JDK的下载以及不同平台的环境变量的配置. 1.安装JDK开发环境 官 ...

最新文章

  1. MindInsight张量可视设计介绍
  2. pandas 删除列名字符串中的空格
  3. 人脸识别虽好,还需行业自律与法律监管有道
  4. 如何快速将下载好的大量源代码文件加入到VS项目中
  5. 联想电脑怎么进入Android,联想电脑怎么连接手机
  6. CentOS+postfix+ExtMail+amavisd-new+Spam_Locker+DSpam配置指南:五、配置maildrop
  7. ubuntu设置jupyter
  8. 如何搭建Electron开发环境
  9. windows下恢复删除的逻辑分区
  10. 0.07 秒启动一个 SpringBoot 项目!
  11. 直入灵魂的Python教学:《看动漫学Python》让学习不再枯燥
  12. dnfdpl服务器维护了,2019DNF心悦DPL赛事活动地址 强化器和时空石没了
  13. tensorflow2.报错与解决 Cannot convert a symbolic Tensor
  14. php 数组排序以及按照某个字段排序
  15. 关于子网的网络地址和广播地址的计算问题的方法
  16. 24点递归实现(c语言)
  17. i春秋web-Backdoor(.git泄露、vim备份泄露、代码审计)
  18. 我的人格类型是:ESTP(外向,感觉,思维,知觉)
  19. php图片上传为base64,php实现base64图片上传方式实例代码
  20. java判断文件夹中的图片是否重复

热门文章

  1. ASP.NET自带的散列加密口令【转】
  2. java反射 初始化bean_通用javabean初始化(反射机制)
  3. Java黑皮书课后题第1章:1.2(显示五条消息)编写程序,显示以下表格
  4. 斐波那契数列的3种求法及几种素数筛法
  5. Gym 101933 A(dp)
  6. 原!操作 excel 03/07
  7. ant安装(for linux)
  8. Linux运行jmeter
  9. 编码 Unicode utf-8
  10. (010) Linux之I/O重定向