1.使用easyopenjtag、openjtag来烧写uboot

2.体验uboot

插讲《网络设置_ping问题解决_远程登录ssh_文件互传ftp》

192.168.1.183 windows系统的IP地址
192.168.1.184 ubuntu系统的IP地址
192.168.1.185 JZ2440开发板的IP地址

3.安装交叉编译工具链arm-linux-gcc
资源:arm-linux-gcc-4.3.2.tar.bz2
cd /work/tools/
sudo tar xjf arm-linux-gcc-4.3.2.tar.bz2 -C /

修改/etc/environment 环境变量
修改成:
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/arm/4.3.2/bin"

使环境变量生效
source /etc/environment

检查环境变量
echo $PATH

检查交叉编程工具链的版本
arm-linux-gcc -v

4.编译uboot

资源:
u-boot-1.1.6.tar.bz2
u-boot-1.1.6_20161226_all.patch
把这两个文件复制到/work/system目录

如下步骤:
cd /work/system
tar xjf u-boot-1.1.6.tar.bz2
cd u-boot-1.1.6/
patch -p1 < ../u-boot-1.1.6_20161226_all.patch
make 100ask24x0_config
make

5.编译linux内核
资源:
linux-3.4.2.tar.bz2
linux-3.4.2_20161226_all.patch

先把这两个文件复制到/work/system目录下

tar xjf linux-3.4.2.tar.bz2
cd linux-3.4.2/
patch -p1 < ../linux-3.4.2_20161226_all.patch
cp config_jz2440 .config
make uImage

6.使用已经制作好的根文件系统rootfs
资源:
fs_mini_mdev_new_auto_wifi.tar.bz2

注意:根文件系统rootfs位于nand flash,而不是位于nfs文件系统中。

sudo tar xjf fs_mini_mdev_new_auto_wifi.tar.bz2
mkyaffs2image fs_mini_mdev_new fs_mini_mdev_new.yaffs2

7.向开发板烧入uboot/kernel/rootfs

1)使用eop烧写uboot

//========================分区大小
输入print后:
mtdparts=mtdparts=nandflash0:512k@0(bootloader),128k(params),4m(kernel),-(root)

(上述设置的环境变量仅在uboot下有效)

Linux-3.4.2/arch/arm/mach-s3c24xx/common-smdk.c(内核下分区信息在该文件下定义)

Uboot 512K Easyopenjtag烧入nand flash
Uboot环境变量 128K
Kernel 4M Uboot中nfs下载,并烧入到nand flash
rootfs 剩余全部 Uboot中nfs下载,并烧入到nand flash

192.168.1.183 windows系统的IP地址
192.168.1.184 ubuntu系统的IP地址
192.168.1.185 JZ2440开发板的IP地址

//========================设置uboot的ip地址
setenv serverip 192.168.1.184
setenv ipaddr 192.168.1.185
saveenv
再使用print来查看

//========================设置和测试nfs服务器,

vi /etc/exports

加上“/work/nfs_root *(rw,sync,no_root_squash)”//会通过nfs挂载的目录
cat /etc/exports

复位nfs服务器
sudo service portmap restart
sudo /etc/init.d/nfs-kernel-server restart

测试nfs服务器能否本地挂载
sudo mount -t nfs localhost:/work/nfs_root /mnt
cd /mnt 切换mnt目录去查看相关内容
cd ~ ##返回到非/mnt目录,才能卸载挂载到/mnt上的文件系统
sudo umount /mnt

然后把内核复制/work/nfs_root

//========================下载、擦除、烧写内核
在uboot环境下:
nfs 30000000 192.168.1.184:/work/nfs_root/uImage
nand erase kernel
nand write.jffs2 30000000 kernel

//========================下载、擦除、烧写rootfs
在uboot环境下:
nfs 30000000 192.168.1.184:/work/nfs_root/fs_mini_mdev_new.yaffs2
nand erase root
nand write.yaffs 30000000 4a0000 $(filesize)

512*1024 =524288 =0x 80,000
128*1024 =131072 =0x 20,000
4*1024*1024=4194304=0x400,000
加起来就是0x4a0,000

//========================设置启动参数(这一步骤不用设置)
使用print来查看bootcmd和bootargs
setenv bootcmd nand read.jffs2 0x30007FC0 kernel \; bootm 0x30007FC0
setenv bootargs noinitrd root=/dev/mtdblock3 init=/linuxrc console=ttySAC0,115200
saveenv

//========================启动内核
boot

8.驱动的编译、安装和测试

1)网络驱动的测试
linux-3.4.2/drivers/net/ethernet/davicom/dm9dev9000c.c
已经将该网络驱动编译进内核。

//========================在开发板linux环境挂载nfs文件系统
mount -t nfs -o nolock 192.168.1.184:/work/nfs_root /mnt

2)led驱动

注意一下:
编译驱动模块的前提是:内核已经顺利编译通过。

mkdir -p /lib/modules/3.4.2
cp first_drv.ko /lib/modules/3.4.2/
insmod first_drv.ko
./firstdrvtest on
./firstdrvtest off

3)按键驱动

cp buttons.ko /lib/modules/3.4.2/
insmod buttons.ko
./buttons_test

4)LCD驱动

cp lcd.ko /lib/modules/3.4.2/
insmod lcd.ko
./fb_test /dev/fb0

2、qq物联环境搭建的更多相关文章

  1. 国内物联网平台(3):QQ物联智能硬件开放平台

    国内物联网平台(3)——QQ物联·智能硬件开放平台 马智 平台定位 将QQ帐号体系.好友关系链.QQ消息通道及音视频服务等核心能力提供给可穿戴设备.智能家居.智能车载.传统硬件等领域的合作伙伴,实现用 ...

  2. 国内物联网平台初探(三) ——QQ物联·智能硬件开放平台

    平台定位 将QQ帐号体系.好友关系链.QQ消息通道及音视频服务等核心能力提供给可穿戴设备.智能家居.智能车载.传统硬件等领域的合作伙伴,实现用户与设备.设备与设备.设备与服务之间的联动. 实现用户与设 ...

  3. 5、qq物联开发步骤

    1.QQ物联开发步骤 1)测试环境无需申请上线,即可任意调试.意思是什么呢,它是告诉大家,在调试的时候不要点击上面的提交上线,因为目还在调试此设备,一旦上线,QQ物联官方就会来审核你的设备,导致延长研 ...

  4. 4、qq物联SDK介绍及实例讲解

    1.到QQ物联官网http://iot.open.qq.com中下载软件SDK S3C2440_20161122_1.6.205_r4288.tar.gz注意:在后续大家实际开发过程中,可能你会下载到 ...

  5. 分享-QQ/微信/微博(环境搭建)

    QQ环境搭建

  6. 腾讯物联TencentOS tiny上云初探

    2017年中旬曾写过一篇关于物联网平台的文章<微软最完善,百度最“小气” 看微软阿里百度三大物联网云平台对比>.现在已经过去两年了,物联网的格局又发生了不少的变化.不过针对腾讯来说,其物联 ...

  7. Android UiAutomator环境搭建及使用(QQ交流群:490451176)

    Android自动化框架常用的有很多,本身也提供了很多自动化测试框架,每个都有其优势和不足 .当然对于我们做UI自动化测试来说,简单易用即可. UiAutomator也是Android提供的自动化测试 ...

  8. Scala进阶之路-为什么要学习Scala以及开发环境搭建

    Scala进阶之路-为什么要学习Scala以及开发环境搭建 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 最近人工智能和大数据那是相当的火呀,人工智能带动了Python的流行,区块 ...

  9. python开发环境搭建

    虽然网上有很多python开发环境搭建的文章,不过重复造轮子还是要的,记录一下过程,方便自己以后配置,也方便正在学习中的同事配置他们的环境. 1.准备好安装包 1)上python官网下载python运 ...

随机推荐

  1. jquery19 ajax()

    <!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content ...

  2. js---03属性操作

    <!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content ...

  3. vue ---- 组件传值之间使用 v-model

    父子组件通信,都是单项的,很多时候需要双向通信.方法如下: 1.父组件使用:msg.sync="aa"  子组件使用$emit('update:msg', 'msg改变后的值xxx ...

  4. javaweb三、JDBC访问数据库

    JDBC是J2SE的内容,是由java提供的访问数据库的接口,但没有提供具体的实现方法,需要数据库厂商提供,就是对应的数据库驱动. 这样的好处是可以方便的更换数据库,提高了扩展性.这也是面向接口编程的 ...

  5. grunt yoman bower的理解

    grunt : 前端构建工具 1 什么事前端构建工具 目前前端已经开始了工程化 比如 一个项目 里面用到了几十个js文件 几十个css 很多图片资源 我们如果引入 还是按照以前的方式 out 因此这个 ...

  6. yum---rpm软件包管理器

    yum命令是在Fedora和RedHat以及SUSE中基于rpm的软件包管理器,它可以使系统管理人员交互和自动化地更细与管理RPM软件包,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性 ...

  7. Python爬虫之『urlopen』

    本文以爬取百度首页为示例来学习,python版本为python3.6.7,完整代码会在文章末附上 本次学习所用到的python框架:urllib.request 本次学习所用到的函数: urllib. ...

  8. CSS Loading 特效

    全页面遮罩效果loading css: .loading_shade { position: fixed; left:; top:; width: 100%; height: 100%; displa ...

  9. [C#防止反编译].NET 产品版权保护方案 (.NET源码加密保护)

    [C#防止反编译].NET 产品版权保护方案 (.NET源码加密保护) 标签: .net加密产品c#dll工具 2011-03-24 21:06 27009人阅读 评论(13) 收藏 举报 分类: C ...

  10. 使用Ant打包Android应用具体解释——Ant使用解析

    上篇<使用Ant打包Android应用具体解释>描写叙述了使用Ant打包的流程,但非常多步骤并没有说明如此做的原因,本篇将从Ant方面来理解,下一篇从APK生成的流程来说明. APK包的生 ...