2、qq物联环境搭建
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物联环境搭建的更多相关文章
- 国内物联网平台(3):QQ物联智能硬件开放平台
国内物联网平台(3)——QQ物联·智能硬件开放平台 马智 平台定位 将QQ帐号体系.好友关系链.QQ消息通道及音视频服务等核心能力提供给可穿戴设备.智能家居.智能车载.传统硬件等领域的合作伙伴,实现用 ...
- 国内物联网平台初探(三) ——QQ物联·智能硬件开放平台
平台定位 将QQ帐号体系.好友关系链.QQ消息通道及音视频服务等核心能力提供给可穿戴设备.智能家居.智能车载.传统硬件等领域的合作伙伴,实现用户与设备.设备与设备.设备与服务之间的联动. 实现用户与设 ...
- 5、qq物联开发步骤
1.QQ物联开发步骤 1)测试环境无需申请上线,即可任意调试.意思是什么呢,它是告诉大家,在调试的时候不要点击上面的提交上线,因为目还在调试此设备,一旦上线,QQ物联官方就会来审核你的设备,导致延长研 ...
- 4、qq物联SDK介绍及实例讲解
1.到QQ物联官网http://iot.open.qq.com中下载软件SDK S3C2440_20161122_1.6.205_r4288.tar.gz注意:在后续大家实际开发过程中,可能你会下载到 ...
- 分享-QQ/微信/微博(环境搭建)
QQ环境搭建
- 腾讯物联TencentOS tiny上云初探
2017年中旬曾写过一篇关于物联网平台的文章<微软最完善,百度最“小气” 看微软阿里百度三大物联网云平台对比>.现在已经过去两年了,物联网的格局又发生了不少的变化.不过针对腾讯来说,其物联 ...
- Android UiAutomator环境搭建及使用(QQ交流群:490451176)
Android自动化框架常用的有很多,本身也提供了很多自动化测试框架,每个都有其优势和不足 .当然对于我们做UI自动化测试来说,简单易用即可. UiAutomator也是Android提供的自动化测试 ...
- Scala进阶之路-为什么要学习Scala以及开发环境搭建
Scala进阶之路-为什么要学习Scala以及开发环境搭建 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 最近人工智能和大数据那是相当的火呀,人工智能带动了Python的流行,区块 ...
- python开发环境搭建
虽然网上有很多python开发环境搭建的文章,不过重复造轮子还是要的,记录一下过程,方便自己以后配置,也方便正在学习中的同事配置他们的环境. 1.准备好安装包 1)上python官网下载python运 ...
随机推荐
- 使用PHP来压缩CSS文件
这里将介绍使用PHP以一种简便的方式来压缩你的CSS文件.这种方法不需要命名你的.css文件和.php文件. 当前有许多方法需要将.css文件重命名成.php文件,然后在所有PHP文件中放置压缩代码. ...
- 42.cnpm不是内部命令的解决方案:配置环境变量
转自:https://blog.csdn.net/u014540814/article/details/78777961
- js深拷贝的实现方式
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- OpenCV —— 矩阵操作
多通道的矩阵 —— 通道是连续的!! 要将指向该数据类型的指针移动到下一通道,我们只需要将其增加1.如果想访问下一个“像素”或者元素集,则需要一定的偏移量 矩阵的step元素是矩阵中行的长度,单位为字 ...
- 竖向 两级手风琴 TAB 栏
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- 【2017 Multi-University Training Contest - Team 5】Rikka with Subset
[Link]: [Description] 给你a数组的n个数的所有2^n个子集的2^n个子集元素的和; 子集元素的和最大为m; 告诉你各个子集元素的和出现的次数; 如 1 2 则0出现1次,1出现1 ...
- Android自定义视图
Android框架为我们提供了大量的视图类来帮助我们做好展示信息以及同用户进行交互的工作.然后有时候,我们的app或许需要一些在Android内建视图之外特殊的视图,那么此时我们就需要自定义视图.下面 ...
- android.graphics.Paint方法setXfermode (Xfermode x...
mPaint = new Paint(); mPaint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SCREEN)); 常见的Xfermod ...
- elasticsearch transport 请求发送和处理
前一篇分析对nettytransport的启动及连接,本篇主要分析transport请求的发送和处理过程.cluster中各个节点之间需要相互发送很多信息,如master检测其它节点是否存在,node ...
- InstallShield详细制作说明(四)
十.编译打包