这次我们来介绍使用buildroot构建opencv开发环境,buildroot 是 Linux平台上一个构建嵌入式Linux系统的框架。整个buildroot是由 Makefile脚本和Kconfig配置文件构成的。可以和编译Linux内核一样,通过 buildroot 配置,menuconfig 修改,编译出一个完整的可以直接烧写到机器上运行的Linux系统。

1、源码下载:

buildroot官网获取源码包

http://buildroot.uclibc.org/download.html

下载好之后我们把它放在ubuntu上并解压,法师这里使用的是ubuntu12.04。

2、配置:

在buildroot源码包路径下执行“make menuconfig”命令,进入配置界面,如下图所示:

进入“Target options”目录,将Target Architecture配置为ARM(littlt endian),将 Target Architecture Variant 配置为 cortex-A9,将 Target ABI 配置为 EABI,将 ARM instruction set 配置为 ARM。如下图所示:

再退回上一界面后,进入 Toolchain 目录:将 Toolchain type 配置为 Buildroot toolchain,然后在Kernel Headers中选择linux的版本,这里选 Manually specified Linuxversion,在Custom kernel headers series中选择3.0.x,然后在linux version 中填写linux 版本,笔者使用3.0版,后面编译时,buildroot 将会自动下载对应的工具链并自动安装,将C library 配置为glibc。选中 Enable MMU support 和 Enable C++ support。如下图所示:

退回上一界面后,进入System configuration 界面,System hostname 一栏中输入开发板的名称,如iTop-4412,在Init system中选择BusyBox,在/devmanagement中选择Dynamic using mdev,即使用mdev动态加载设备节点的方式,然后在Path to the permission tables中 选择设备节点的 配置表 , 这里我们一定要选择system/device_table_dev.txt,否则后面在 dev 目录下将不会生成各种设备节点。当然我们也可以手动的配置该文件,添加必要的节点或删除不需要的节点。Root password 为配置进入 linux 控制台终端后的密码,为空则登录时不需要密码,这里我们设置为topeet,默认登录用户名为root。如下图所示:

选中 Run a getty(login prompt)after boot,再进入getty options 选项:将TTY port配置为ttySAC2,将baudrate配置为115200,对应 iTop4412开发板的控制台打印串口。

其他开发板控制台串口分别是:

4418-ttyAMA0

6818-ttySAC0

iMX6Q&iMX6UL-ttymxc0

返回上一层,再继续返回上一界面,进入 Filesystem images 目录,选中 tar the rootfilesystem,如下图所示:

返回上一层,进入“Target packages”目录,如下图所示:

进入“Libraries”,如下图所示:

进入“Graphics”选中“opencv”如下图所示:

然后返回到 “ Target packages ”,进入下图显示的路径,选中“ Qt”如下图所示:

进入“Qt”,选中“Gui Module”,如下图所示:

3、编译及生成文件系统镜像

编译 buildroot,在buildroot根目录下直接执行 make 就可以完成了,第一次编译的过程中需要自动下载一些工具,所以要保持 Ubuntu 系统联网,会花费一些时间。

编译完成后,进入output 文件,targer就是我们编译生成的文件系统,当然buildroot会将其打包成相关镜像,但是格式种类(“menuconfig”中的“Filesystem images”目录下配置)有限,镜像就放在image目录下,我们还是回到output目录下。

iTop-4412使用命令“make_ext4fs -s -l 314572800 -a root -L Linuxsystem.img target/”生成文件系统镜像。其他开发板使用压缩命令打包成对应的格式即可。

4、内核配置

这部分 4418,6818 和 imx6ul 默认配置可以直接跳过这步,(4412 和 imx6q 默认没有配置)以4412为例,我们在内核目录,我们进入4412内核目录,使用 make menuconfig 配置内核,进入Device Drivers,在进入Generic Driver Options,如下图:

然后选择 Maintain a devtmpfs filesystem to mount at /dev,再选择 Automount devtmpfs at /dev, after the kernel mounted the rootf,如下图:

5、测试

我们把编译生成的文件系统烧写进开发板,然后把QT测试程序和测试图片拷贝进开发板,运行程序我们可以看到程序已经成功执行,如下图所示:

6、资料获取

后台回复"opencv" 关键字即可获得百度网盘下载链接。有需要的小伙伴可以自行下载:

部分视频观看地址:

iTOP4412开发板介绍 https://www.bilibili.com/video/av74453392

iTOP4412开发板系统编程前言 https://www.bilibili.com/video/av75754003

iTOP4412-fastboot烧写Android https://www.bilibili.com/video/av76115803

iTOP4412-安装虚拟机软件 https://www.bilibili.com/video/av75881580

iTOP4412-创建和配置虚拟机 https://www.bilibili.com/video/av75881653

iTOP4412-获取并安装ubuntu操作系统 https://www.bilibili.com/video/av75881774

iTOP-4412驱动教程一 https://www.bilibili.com/video/av74131033

iTOP-4412驱动教程二 https://www.bilibili.com/video/av74131033?p=2

iTOP-4412驱动教程三 https://www.bilibili.com/video/av74131033?p=3

iTOP-4412开发板之如何扩展不同规格LCD屏幕 https://www.bilibili.com/video/av75870604

itop4412-编译4412对应的uboot https://www.bilibili.com/video/av76737204

项目实战-GPS定位简介 https://www.bilibili.com/video/av78601887

项目实战-迅为实战教程介绍 https://www.bilibili.com/video/av78601813

项目实战-机车导航-机车导航项目演示 https://www.bilibili.com/video/av78601986

项目实战-机车导航-定制内核显示logo https://www.bilibili.com/video/av78729131

项目实战-机车导航-修改安卓开机启动动画 https://www.bilibili.com/video/av78972262

项目实战-智能家居-简介 https://www.bilibili.com/video/av80835403

迅为iTop开发板使用buildroot构建opencv文件系统的更多相关文章

  1. 迅为IMX6开发板真实产品案例分享-专为研发用芯选择

    迅为IMX6开发板: Android4.4系统 Linux + Qt5.7系统 Ubuntu12.04系统 部分真实案例:HMI:3D打印机:医疗设备:工控机:触控一体机:车载终端 核心板兼容:IMX ...

  2. 迅为-IMX6UL开发板丨双网口丨双CAN总线丨4路USB HOST丨2路串口、6路插座引出,共8路串口丨1路RGB信号丨2路LVDS信号

    迅为iMX6UL开发板多路串口开发平台迅为i.MX 6UL开发板基于ARM Cortex-A7内核,主频高达528 MHz,内存:512MDDR3存储:8G EMMC,支持2路CAN,2路百兆以太网, ...

  3. 迅为-IMX6开发板十层PCB制造,24小时开机测试,满负荷测试运行俩天,没有死机

    迅为-IMX6开发板——工业主板的优势 1.元器件 IMX6工业主板选料,选用经过长时间.高要求验证元器件,保证产品在复杂条件下,耐高温.抗潮湿等工业场合的需求. 2.PCB设计 IMX6工业主板采用 ...

  4. 迅为4412开发板QtE系统源码-屏幕横竖屏切换修改方法

    迅为4412开发板QtE系统源码-屏幕横竖屏切换修改方法 详情了解:http://topeetboard.com 更多了解:https://arm-board.taobao.com/ 用户在开发板上运 ...

  5. 迅为6818开发板-Cortex-A5架构丨支持4G全网通丨GPS丨WIFI丨另有丰富的扩展模块

    迅为6848开发板-S5P6818芯片采用Cortex-A53架构! Cortex-A53和其高端兄弟Cortex-A57一样都是64位架构,实目前ARM的主力,且二者的指令集是完全兼容的,可以组成新 ...

  6. 内容分享-迅为IMX6开发板编译问题及解决方法

    [经验分享]IMX6开发板编译问题及解决方法本文转自迅为IMX6开发板售后讨论群,分享给大家~ 物理主机 win10 64 位专业版.虚拟机 VM12 Pro.开发环境采用迅为提供的开发环境: Ubu ...

  7. 嵌入式开发-迅为4418开发板Android4.4.4实现ble功能

    ①.如果是迅为4418开发板:在4418/android/device/nexell/drone2/device.mk中添加: frameworks/native/data/etc/android.h ...

  8. 迅为IMX6UL开发板

    迅为iMX6UL开发板采用核心板加底板形式,核心板使用邮票孔方式连接,牢固耐用.处理器ARM®Cortex®-A7内核,运行速度高达528 MHz.512MDDR内存,8G EMMC存储,板截双网口, ...

  9. 【ARM开发板】迅为IMX6开发板QT下LVDS和HDMI双屏异显

    本文转自迅为论坛:http://www.topeetboard.com 平台:迅为-IMX6开发板 首先开发板分别连接9.7寸屏和HDMI显示器,然后使用MfgTool工具烧写QT系统,然后拨码开关设 ...

随机推荐

  1. mybatis的批量update

    方法有三种:1.通过java代码batch方式,xml文件只需一条update语句.java代码繁琐 2.xml使用foreach,“;”分割多条update语句,要求:jdbc的url需加上allo ...

  2. 尝试用kotlin做一个app(一)

    1.先添加一下anko库 依赖:implementation "org.jetbrains.anko:anko:$anko_version" 版本:ext.anko_version ...

  3. 2016蓝桥杯省赛C/C++A组第三题 方格填数

    题意:如下的10个格子  填入0~9的数字.要求:连续的两个数字不能相邻. (左右.上下.对角都算相邻) 一共有多少种可能的填数方案? 分析:dfs,划定边界,行1~4,列1~3,初始化为INT_IN ...

  4. CNN:扩张卷积输出分辨率计算

    扩张卷积(Dilated convolutions)是另一种卷积操作,也叫做空洞卷积(Atrous convolution).相比于普通的卷积,相同的卷积核,空洞卷积能够拥有更大的感受野. 相同的卷积 ...

  5. 学生选课系统(Java语言期末前测试)

      测试具体要求: 2.系统要求与功能设计 2.1 页面要求 (1)能够在Tomcat服务器中正确部署,并通过浏览器查看: (2)网站页面整体风格统一: (3)首页(登录页)要求实现不同用户登录后,进 ...

  6. springcloud之Eureka上

    0 环境 系统环境:win10 编辑器:IDEA 1 注册中心 Eureka是springcloud中的注册中心.原因: 当是单体应用 类似一条直线 随着项目越来越大 系统拆分 类似那个藕(模块间相互 ...

  7. leetcode--200--python(深度广度优先遍历实现代码)

    点滴积累,厚积薄发,做好每一天,向时间要效率,向生命要质量. 一.深度优先搜索和广度优先搜索DFS(Depth-First-Search),是盲目搜索算法的一种.常常用在树的遍历及图的处理上.假设当前 ...

  8. 实验吧web--易--后台登陆

    题目地址:http://www.shiyanbar.com/ctf/2036 这道题确实有点考研脑洞了. 1.首先,查看网页源代码(Ctrl+U),会发现一段PHP代码: $sql = "S ...

  9. (转)绝对路径${pageContext.request.contextPath}用法及其与web.xml中Servlet的url-pattern匹配过程

    以系统的一个“添加商品”的功能为例加以说明,系统页面为add.jsp,如图一所示: 图一  添加商品界面 系统的代码目录结构及add.jsp代码如图二所示: 图二   系统的代码目录结构及add.js ...

  10. mysql自关联和多表连接查询

    自关联操作         多表连接查询  inner  join 内查询   left  join  左查询   right  join  右查询                          ...