历史上的今天
返回首页

历史上的今天

今天是:2024年12月27日(星期五)

正在发生

2021年12月27日 | 迅为4412开发板项目实战-制作支持百度AI和opencv的文件系统

2021-12-27 来源:eefocus

项目名称;图像识别项目

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


推荐阅读

史海拾趣

Hasco Relays and Electronics International Corp公司的发展小趣事

Harris公司最初成立于1890年代,起初以无线电通信技术为核心业务。在早期,公司凭借其创新的无线电通信技术,在通信领域迅速崭露头角。这一时期,Harris不仅为军事领域提供了关键的通信解决方案,还逐步拓展到商业和民用市场,为当时的电话、电报等通信方式带来了革命性的变化。通过不断的技术研发和产品创新,Harris逐渐奠定了其在电子行业的重要地位。

Exclara Inc公司的发展小趣事

随着技术的不断成熟和产品的日益完善,Exclara开始将目光投向全球市场。公司积极拓展海外市场,通过参加国际展会、与当地合作伙伴建立战略合作关系等方式,不断提升品牌知名度和市场份额。同时,公司也在全球范围内建立了完善的销售网络和售后服务体系,以确保客户能够享受到优质的产品和服务。

GE Oil & Gas Digital Solutions公司的发展小趣事
在电路制作完成后,使用已知阻值的标准电阻对电路进行校准,确保测量结果与标准值一致。
Hama公司的发展小趣事

在获得多轮融资后,H&D Wireless加快了全球化战略的步伐。公司计划利用融资资金进行全球业务扩张,并发布物联网云服务平台,以支持更多应用程序实现非现金支付和位置追踪服务。此外,H&D Wireless还透露了上市计划,考虑在斯德哥尔摩纳斯达克北欧交易所(Nasdaq First North)寻求上市。这一计划将为公司带来更多的资金支持和市场关注,进一步推动其全球化发展。

AMICC [AMIC TECHNOLOGY]公司的发展小趣事

随着产品线的不断丰富和技术实力的不断提升,AMICC开始积极拓展国内外市场。公司通过与大型电子企业建立战略合作关系,成功打入国际市场。同时,AMICC还积极参加各类行业展会和交流活动,提升品牌知名度和影响力。在市场拓展的过程中,AMICC始终坚持客户至上的原则,为客户提供优质的产品和服务,赢得了客户的信任和好评。

Amphenol(安费诺)公司的发展小趣事

随着产品线的不断丰富和技术实力的不断提升,AMICC开始积极拓展国内外市场。公司通过与大型电子企业建立战略合作关系,成功打入国际市场。同时,AMICC还积极参加各类行业展会和交流活动,提升品牌知名度和影响力。在市场拓展的过程中,AMICC始终坚持客户至上的原则,为客户提供优质的产品和服务,赢得了客户的信任和好评。

问答坊 | AI 解惑

redboot启动代码疑惑,各位大侠帮忙看看。

小弟今天刚开始看redboot启动代码,发现一个问题请各位大侠指教?就是这条语句UNMAPPED_PTR(reset_vector)的目的何在?为啥不可以写成PTR(reset_vector)呢? 先谢过各位!!!!! [code] #define PTR(name)        &nb ...…

查看全部问答>

内存控制器和mmu问题

内存控制器和mmu有什么区别? 现在接触davinci系列处理器,其中包含arm926、vpss(主要用于视频处理)、dsp 这些东西都在内存控制器之下工作,而mmu只在arm端有,想问是内存控制器是在arm内还是另外在片内独立的一个东西,而mmu和内存控制器有什么 ...…

查看全部问答>

程序启动时的图片加载问题

我现在是在EVC下做一个简单的对话框程序,程序是在2440XP开发板上运行,系统是WinCE5.0 这个程序就是一个基于对话框的程序,首先我给对话框设置一张背景图片,然后还在对话框上加了一些CBitmapButton和CStatic这些控件我都把它们的背景设置成一些 ...…

查看全部问答>

侃侃我的成果

本人长期从事单片机开发应用,积累了一定的经验。本人将毕生研究心得集成了文字,放在我的博客里,希望大家光临指导,并给点意见。我的博客地址;http://blog.mcuol.com/user/Article/500.html…

查看全部问答>

PPC软件外包,有钱赚哦

有一个PPC2003的小软件项目外包,有意者请你我联系。 QQ:112283879 MSN:jackywj@hotmail.com…

查看全部问答>

IAR开发lm3s全系列教程 四

IAR开发lm3s全系列教程 四…

查看全部问答>

请教香版:关于USBCustom_HID中显示ST的问题

香版:您好! 我在使用Custom_Hid的时候,发现其需要安装驱动,但其启动好像是PC系统自带,这倒没有什么问题。 问题是,在第一次插入PC的时候,会提示ST等信息。而作为我们设计的产品,希望能提示公司自己的ID或者什么都不显示。不知道这样 ...…

查看全部问答>

【MSP430共享】基于蓝牙通讯的便携式心电监护仪的研制

目的研制一种具有无线传输功能的便携式 电监护仪 。方法以MS P 4 3 0单片机为核心 , 控制心电采集 、 放大模块 , 并通过 BC M一 0 3蓝牙模块 将心电数据发送到掌上 电脑上进 行监护。结果  实现了心数据的采集及与P D A的蓝牙无线通讯 ...…

查看全部问答>