迅为4412开发板项目实战-制作支持百度AI和opencv的文件系统

发布者:书卷气息最新更新时间:2022-01-15 来源: eefocus关键字:百度AI  opencv  文件系统 手机看文章 扫描二维码
随时随地手机看文章

项目名称;图像识别项目

硬件平台: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


关键字:百度AI  opencv  文件系统 引用地址:迅为4412开发板项目实战-制作支持百度AI和opencv的文件系统

上一篇:通过QT制作图形界面并调用百度AI进行图像识别(一)
下一篇:4412开发板图像识别实战项目-移植jsoncpp库(四)

推荐阅读最新更新时间:2024-11-10 10:37

TQ210——文件系统
1.busybox 致命错误: curses.h:没有那个文件或目录 解决办法:ubuntu系统中缺少一个套件 ncurses devel,把此套件安装下即可 $ sudo apt-get install libncurses5-dev 2.Linux 根文件系统目录结构 (1) /bin 目录 该目录下存放所有用户(包括系统管理员和一般用户)都可以使用的、基本的命令,里面常用的命令有: ls、 cd、 mkdir、 rm、 kill、 ps、 cp、 mv、 cat、 chmod等。 (2) /sbin 目录 该目录下存放系统命令,即只有管理员能够使用的命令,系统命令还可以存 放/usr/sbin、/usr/local/sb
[单片机]
制作新的根文件系统---busybox-1.20.0---(JZ2440-S3C2440)
1、将busybox-1.20.0.tar.bz2进行解压、编译与安装 (1)解压:tar xjf busybox-1.20.0.tar.bz2 进入目录:cd busybox-1.20.0 cd busybox-1.20.0 配置:make menuconfig (2)然后指定交叉编译器。 指定交叉编译器过程如下: 配置交叉编译器,完成后,保存,退出。 (3)编译与安装 编译命令:make 编译完成后进行安装: 在/work/nfs_root/目录下创建一个fs_mini_mdev_new。 命令:cd /work/nfs_root/ mkdir fs_mini_mdev_new
[单片机]
制作新的根<font color='red'>文件系统</font>---busybox-1.20.0---(JZ2440-S3C2440)
stm32——Fatfs文件系统读写文件
因项目需求需要移植fatfs文件系统,参考了正点原子的战舰例程。 使用mcu为stm32f103zet6,spi的sd卡模块,8Gsd卡。例程为mini板(mcu:stm32f103rct6)的 ALIENTEK MINISTM32 实验29 FATFS文件系统实验,zet6的例程由于是sdio模式所以没有选用。 初始化 这里只初始化sd卡.e2prom部分删除了 mem_init(); //初始化内存池 //SD卡检测及初始化 while(SD_Initialize()) //检测不到SD卡 { delay_ms(500); } e
[单片机]
stm32——Fatfs<font color='red'>文件系统</font>读写文件
s3c6410学习笔记-将内核zImage、文件系统写到nandflash、屏幕校准
1、之前已经将uboot写到nandflash里面了,接下来将内核zImage、文件系统写到nandflash。 2、编译内核 cd linux-2.6.28_smdk6410 make clean make distclean cp smdk6410_config .config make menuconfig    将Device Drivers ---》Graphics support --- Support for frame buffer devices --- select LCD       Type 分辨率调到480*272 保存(之后要校准屏幕) make   make 完成之后将 /arch/a
[单片机]
利用MSP430在SD卡上实现FAT32文件系统
经过一周左右时间的摸索,终于明白了如何用msp30在SD卡实现FAT32文件系统,很开心~在学习的过程中,也发现一个问题,就是网上系统地讲SD卡的资料很少,而讲SDHC卡的资料则更少,所以决定写一篇博客与大家分享,由于SDHC卡大部分内容都与SD卡一样,所以下文除非是特别介绍SDHC卡,其余都会以SD卡代替SDHC卡。如果发现文中存在问题,欢迎指正,谢谢。 首先,我们先说明一下本文的主要内容,本文的主要侧重点在于利用msp430(其它单片机应该类似)驱动SD卡。驱动方式选用SPI方式,驱动成功之后,将FAT32文件系统移植过来。所以如果想要仔细学习FAT32文件系统的,可以忽略本文了,想要快速地利用单片机
[单片机]
利用MSP430在SD卡上实现FAT32<font color='red'>文件系统</font>
OK6410 tftp下载内核、文件系统以及nand flash地址相关整理、总结
飞凌官方提供了一键下载烧写linux的方式,相对来说比较方便,但是对于开发来说不够灵活,因此这篇文章把tftp相关的点介绍一下,整理下其中遇到的一些问题。 一键烧写本质上是启动位于SD卡中的Uboot,通过uboot读取sd卡中的文件到SRAM最后通过nand指令实现一键烧写,这一块可以参考飞凌提供 的uboot源码中includeconfigs 中的smdk6410.h 的529行,代码如下: 代码1: 1 #elif defined(FORLINX_BOOT_SD) 2 #define FORLINX_DEBUG 3 #define CONFIG_MMC 1 4 #define CONFIG_LCD 5 #def
[单片机]
BAT的下半场:人工智能 百度最后的救赎
自2016年7月份新美大CEO王兴提出中国互联网已经进入“下半场”的概念之后,下半场就一度成为了互联网公司的标配,似乎没有赶上这阵风口就会过时来着。 于是像是网约车大战进入下半场、移动资讯分发竞争进入下半场、生鲜电商竞逐下半场……等等之类的概念纷至沓来;甚至王兴还组团张一鸣、程维在乌镇还模拟BAT搞了个“TMD”(头条、美团、滴滴)的新概念。 就不提三个臭皮匠挖空心思就整了个“TMD”出来,用户的第一反应完全就是一脸问号;就算互联网有下半场,那也是BAT的下半场,毕竟中国这片鱼塘早就被马化腾、马云和李彦宏给承包了。 当然,你兴许会说百度已经烂到骨子里了: 经历过2016年1月份的贴吧危机、4月22日魏则西事件牵连出来的莆田系信任
[机器人]
mini2440 移植Linux2.6.30.10 及yaffs2文件系统
究了四天linux内核移植和文件系统制作,总算移植成功,在这里和大家分享一下,我是一个初学者,有不对的地方,请大家指点。 一,准备工作 1,内核版本:2.6.30.10 busybox 1.13.0 编译器:arm-linux-3.4.1 文件系统:yaffs2 平台:mini2440 2,移植linux 1)Linux 2.6.30.10的下载地址: http://www.kernel.org/ 2)yaffs2文件系统的下载地址: http://www.aleph1.co.uk/cgi-bin/viewcvs.cgi/ 点击Download GNU tarball,下载cvs-root.tar.gz 3)busybox的下载
[单片机]

推荐帖子

求各位帮忙写一个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 编程基础
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved