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运 ...
随机推荐
- QVBoxLayout移除控件之后没有消失
想在QWidget里面动态的添加和删除控件,给QWidget设置了一个布局管理器QVBoxLayout,要删除控件可以 使用QVBoxLayout::removeWidget(QWidget *w)方 ...
- 56.如何清除已经设置的npm config配置
npm config delete registry npm config delete disturl 或者 npm config edit 找到淘宝那两行,删除
- FFT之大数乘法
#include <iostream> #include <stdio.h> #include <cmath> #include <algorithm> ...
- 体验 Windows 系统 CVM
添加角色功能: service.msc 设置自动服务,net start telnet
- NewtonSoft对象转json时,把 NULL 转 "" , 过滤 NULL, DateTime 时间类型去除 T
IsoDateTimeConverter timeConverter = new IsoDateTimeConverter(); timeConverter.DateTimeFormat = &quo ...
- 使用框架的php假设使用定时服务Cronjob
工作须要用php开发了个监控的小程序,既然是监控就须要定时运行. 之前我用的是chrome加个定时刷新的小插件,放在server上执行.也能实现,就是别扭. 通用正规的做法应该是:linux上的Cro ...
- ZOJ 3674 Search in the Wiki(字典树 + map + vector)
题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=4917 题意:每一个单词都一些tips单词. 先输入n个单词和他们的t ...
- 43.c++指针类型转换
数据类型转换(static_cast) //数据类型转换 printf("%d\n", static_cast<int>(10.2)); 指针类型转换(reinterp ...
- powerdesigner逆向自动生成mysql说明文档、PDM
做EDI的项目的时候,用到相关工具powerdesigner,正好我们的一个项目对数据设计阶段时相关文档没有很好的保存下来,查找了一下powderdesigner相关文档,采用逆向工程,从mysql数 ...
- activity-栈相关属性
1.启动任务栈 第一种,动作设置为“android.intent.action.MAIN”,类别设置为“android.intent.category.LAUNCHER”,可以使这个ACT(activ ...