项目名称;图像识别项目
硬件平台:iTOP-4412开发板
本节课我们需要使用前面编译的好库,本节课也给大家提供了编译好的库,可以直接使用。接下来我们开始制作支持opencv和百度AI的文件系统。
环境:迅为提供的ubuntu16.04
制作根文件系统大家可以参考系统编程里面的制作最小文件系统的视频,这里就不再重新制作了。
一.添加openssl到文件系统
我们把制作好的根文件系统拷贝到ubuntu,这里我拷贝到了/home/baidu/root下面,如下图所示:
输入以下命令解压并进入解压生成的目录,
tar -vxf iTOP-4412-QtE5.7_4412_elite.tgz
cd root/
把编译好的openssl拷贝到根文件系统的/usr/local/路径下面,命令如下:
cp -r /usr/local/openssl/ ./usr/local/
如下图所示:
修改根文件系统的环境变量,输入命令vi ./etc/init.d/rcS ,如下图所示:
添加openssl的环境变量,命令如下:
PATH=$PATH:/usr/local/openssl/bin
如下图所示:
拷贝 ubuntu下的/usr/local/openssl/lib 下的所有文件拷贝到. /lib 目录下,命令如下:
cp -r /usr/local/openssl/lib/* ./lib/
如下图所示:
二.添加curl到文件系统
把编译好的curl库拷贝到根文件系统的/usr/local/路径下面,命令如下:
cp -r /usr/local/curl/ ./usr/local/
如下图所示:
修改根文件系统的环境变量,输入命令vi ./etc/init.d/rcS ,如下图所示:
添加curl的环境变量,命令如下:
PATH=$PATH:/usr/local/curl/bin
如下图所示:
拷贝 ubuntu下的/usr/local/curl/lib 下的所有文件拷贝到. /lib 目录下,命令如下:
cp -r /usr/local/curl/lib/* ./lib/
如下图所示:
三.添加jsoncpp到文件系统
在根文件系统./usr/local/下面创建一个json的文件,如下图所示:
将编译好的jsoncpp 目录下的 include 文件夹和lib复制到根文件系统./usr/local/json/ 目录,命令如下:
cp -r /usr/local/json/* ./json/
如下图所示:
拷贝 /usr/local/json/lib 下的所有文件到 ./lib 目录下,命令如下:
cp -r /usr/local/json/lib/* ./lib/
如下图所示:
四.添加opencv到文件系统
将编译好的opencv拷贝到根文件系统的 ./usr/local/下面,命令如下:
cp -r /usr/local/opencv-2.4.9/ ./usr/local/
如下图所示:
将编译好的opencv库拷贝到根文件系统的 ./lib下面,命令如下:
cp -r /opt/opencv-arm/lib/* ./lib/
如下图所示:
我们使用命令“cd lib/”进入“.lib”文件夹。使用以下命令创建链接。因为自带的 libstdc++.so.6.0.10 不支持GLIBCXX_3.4.11,运行程序会报错。
cd ./lib/
rm -rf libstdc++.so.6
cp -r /usr/local/arm/4.4.1/arm-none-linux-gnueabi/libc/usr/lib/libstdc++.so.6.0.12 ./
ln -s libstdc++.so.6.0.12 libstdc++.so.6
如下图所示:
四.添加中文字库
在跟文件系统的./opt/qt-5.7.0/lib/下使用mkdir fonts 创建一个存放字库的文件,然后将文件“wenquanyi.ttf”拷贝到根文件系统的“./opt/qt-5.7.0/lib/fonts”,如下图:
打开根文件系统的/etc/profile,添加字库的环境变量,注意这里字库的环境变量一定要写在QT库的路径下面
export QT_QPA_FONTDIR=$QT_ROOT/lib/fonts
如下图所示:
五.打包文件系统
生成可以下载的 system.img 文件需要工具“mkimage”,这个工具在视频目录下可以找到中,如下图所示。我们把他拷贝到ubuntu的根目录。如下图所示:
在根目录解压这个压缩包,我们会在/usr/local/bin下面看到生成的俩个文件,如下图所示:
然后我们回到我们解压根文件系统的目录下,我们输入以下命令生成文件系统,注意这里的我们指定的linux的空间大小为2G,所以我们在烧写的时候要使用2G的分区,也就是命令fdisk -c 0 2048 300 300
make_ext4fs -s -l 2092957696 -a root -L linux system.img root
如下图所示:
最后,我们把生成的文件系统烧写到开发板并验证是否可以启动成功,内核和uboot使用光盘里面QT系统的内核和uboot。
烧写命令:
fdisk -c 0 2048 300 300
fatformat mmc 0:1
ext3format mmc 0:2
ext3format mmc 0:3
ext3format mmc 0:4
fastboot
fastboot.exe flash bootloader u-boot-iTOP-4412.bin
fastboot.exe flash kernel zImage
fastboot.exe flash ramdisk ramdisk-uboot.img
fastboot.exe flash system system.img
fastboot -w
fastboot reboot
上一篇:通过QT制作图形界面并调用百度AI进行图像识别(一)
下一篇:4412开发板图像识别实战项目-移植jsoncpp库(四)
推荐阅读最新更新时间:2024-11-10 10:37
推荐帖子
- 求各位帮忙写一个ATMEGA2560串口接收和发送的程序
- 求各位帮忙写一个ATMEGA2560串口接收数据和发送数据的程序,急需,谢谢大家了。求各位帮忙写一个ATMEGA2560串口接收和发送的程序怎么个ATMEGA2560串口接收数据和发送数据的程序?具体要求? 中断接收,用缓冲,70多个字节,10ms接收完,谢谢
- lllzzz95 Microchip MCU
- 求助:请大家替我选择一下就业方向
- 1计算机系毕业,对嵌入式感兴趣.学习单片机后,目前在学习ARM2 参加过全国数学建模大赛,有应用数学能力.3 专业优势:数据结构,操作系统,编译原理,微机原理接口.4 专业基础:离散数学,电子技术,数字技术,LINUX系统,delphi,java等语言.5 英语六级472,口语熟练,能阅读英语专业书籍.6 具有较强的学习能力,对文学,史学,政治很有兴趣.就业意向:希望从事ARM+LINUX等系统的开发,大家有什么意见,建议,请尽管提,呵呵.新人,愿意与你成为好朋友>qq271
- jp19848 嵌入式系统
- 【瑞萨RA4E1评估板】+继续使用IIC
- 本次主要是使用IIC读取功能,上次的OLED屏幕,我们是只发送不读取数据,这次就是我们通过读取SHT20温湿度传感器测试下其读取功能。接线保持不变,还是IIC0。还是一致的。同样通过FSP软件进行生成代码。配置好从机地址。fsp_err_terr;floatTemValue,RhValue;#defineSHT20_Measurement_RH_HM 0XE5#defineSHT20_Measurement_T_HM 0XE3
- 流行科技 瑞萨电子MCU
- stm32f10x库文件的学习
- ——————————————————————————————————————————————————————————————————————————system_stm32f10x.c文件——————————————————————————————————————————————————————————————————————————system_stm32f10x.c文件主要有1个全局变量u32SystemCoreClock(存放系统主频,以Hz为单位),2个外部函数voidS
- 盛夏之蝉 stm32/stm8
- 寻NuEdu-SDK-M451的光盘
- 手头有一个NuEdu-SDK-M451的板子,只是没有光盘,谁有?发一份寻NuEdu-SDK-M451的光盘直接去新唐官方下载即可,不需要光盘方便发链接吗?没找到:Sad:http://www.nuvoton.com/NuMicroDVD/{:1_103:}从21IC论坛上找到的开发数据:NuEdu-SDK-M451使用手册:http://www.nuvoton.com/opencms/resource-files/NuEdu-SDK-M451_User_Manual_S
- ysdx06010302 单片机
- 《CMake 构建实战-项目开发卷》阅读分享4—构建初探
- 杂谈CMaker初学者容易犯的一个迷糊就是:CMake调用编译工具链生成可执行文件。其实并不是这样的,在构建流程中,CMake读取CMakeLists.txt文件生成Makefile或者VisualStudio工程或者其他构建工具的配置文件,通过它们来实际调用各种命令完成构建。CMake最常用的命令有如下两条第一条命令,根据生成器生成配置文件,这里指定生成器为UnixMakefilescmake-S.-Bbuild-GUnixMak
- CoderX9527 编程基础
设计资源 培训 开发板 精华推荐
- SEC-3PH-11-OBC-EVB:三相车载充电器 (OBC) PFC-LLC 平台
- 使用 Analog Devices 的 LT1076HVCR 的参考设计
- 使用 LTC3637MPMSE 4V 至 76V 输入至 1.8V 超级电容充电器的典型应用
- LTC2656BIFE-L16 八通道、16 位数模转换器的典型应用
- LT3461ES6 演示板,升压转换器,Vin = 3V - 6V,Vout = 12V,(如果 Vin = 3.3V,Iout = 40mA)
- A6261 高压操作 LED 阵列驱动器的典型应用
- 可传输数据的BadUSB数据线
- Si87xxOptoComp-KIT、Si87xx 隔离器与光电比较评估套件
- LTM8052EY 用于为超级电容器充电和主动平衡的典型应用
- AM1D-0515DH30-RZ ±15V 1 瓦 DC-DC 转换器的典型应用