登堂入室之soc开发环境及硬件开发准备
soc开发环境初步安装
- ubuntu开发环境安装
- vsftp
- 安装vim
- 安装gcc及g++
- 安装vscode
- 安装git
- 硬件开发准备
- 装串口驱动
- 装以太网驱动
- 做系统固件(也可以跳过)
- 补充
- 查看系统版本
- 安装软件时会遇到无法获得资源,是否有其他资源正在占用问题,如sudo apt-get install 提示不可用
- 板子端开发环境搭建
- 交叉编译器
- 选定交叉编译环境
- 实例
- 开发流程
- 检查系统需求
- 搭建编译环境
- 选择设备
- 系统定制
- 编译与打包
- 烧录并运行
- 主机编译环境搭建(对应的就是ubuntu开发环境安装)
- 出现无法定位软件包 ia32-libs-y的问题?
- 烧录软件安装
- 解决没有dkms问题?
- 添加LiveSuit文件操作权限问题
- 使用
- 执行过程中出现 "error while loading shared libraries: libpng12.so.0 : cannot open shared object file: No such file or directory"??
自已之前接触到的linux开发板,应该是2014年购买的友善之臂的210,当时也是花了不少钱,但也一直没用上,也没什么项目可做。这次项目是基于一个soc的,所以就先从这个芯片开发环境入手了解下。
关于开发前的ubuntu使用,自己在2019时,已经使用过一段时间了,所以不陌生。但没有在上面开发过程序。自己的电脑也本来就是双系统的。所以就不像公司之前的项目一样,还要安装什么vm ware,还要在windown下安装linux虚拟机。
ubuntu开发环境安装
vsftp
ubuntu与windows做交互的,相互传文件(windowns端需要安装一个ftp工具,像file zilla,虚拟机安装的ubuntu本身就相当于一台电脑可以设置自己的网络ip,通过这个ip,windowns与ubuntu间就可以相互传文件了。)。做网络传输的,由于本身就是基于Linux ubuntu开发,所以这个暂时不用安也可以。
终端执行,sudo apt-get install vsftpd
同时要启动一下,执行:/etc/init.d/vsftpd restart,然后在windows端启动ftp工具,就可以看到ubuntu下的文件。
安装好这个工具后,同时按ctrl+alt,就可以方便的切出到windows
安装vim
脚本终端的编辑器,用来发命令的。这个之前玩ubuntu时,也应该安装上了。
终端执行:
sudo apt-get purge vim common
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install vim
安装gcc及g++
终端执行gcc -v;默认ubuntu是自带的。
终端执行g++ -v;默认也是自带的。
如果没装的话,就执行sudo apt-get install g++//编译c++程序,
sudo apt-get install gcc//编译c程序
安装vscode
用来编写代码的,已经安装好了。有三种安装方式:
sudo dpkg -i 安装包名称.deb(这个是linux下安装包格式)
make make install,下载源码形式
apt-get ,网络安装方式,类似于手机。
安装git
用来git代码和管理。
执行sudo apt-get git
硬件开发准备
拿到手后,一般硬件上像全志或齐感的SOC芯片的linux操作系统已经安装好了,一般是OS装到了TF卡里面。先上电,等待系统启动后,再插USB调试端口还有以太网或手机卡。
装串口驱动
windows下就是装ch340或其他驱动,ubuntu下就是安装相应的驱动。
然后安装与板子交互的工具如moba或Xbell,通过串口连接到板子上串口,就可以交互了。
装以太网驱动
单片机一般通过jlink或stlink来下载程序,但linux很多时候都是通过以太网来下载或调试程序。
通过scp 文件 root@板子IP,来将文件传到板子上的linux.
做系统固件(也可以跳过)
常规的就是准备TF卡读卡器,然后将tf卡变成启动盘。然后把linux烧录到 外置的flash里面就可以了。
补充
查看系统版本
执行:uname -a
安装软件时会遇到无法获得资源,是否有其他资源正在占用问题,如sudo apt-get install 提示不可用
这时表示要进行软件的一个升级。需要执行以下两步。
sudo apt-get update//更新资源
sudo apt-get upgrade//更新软件
板子端开发环境搭建
实现过程:先在pc端编写好程序,通过交叉编译工具,下载到板子端运行。
交叉编译器
通过它可以生成在arm端可运行的程序,然后拷贝到arm上的linux系统里,然后通过串口与板子交互,发送运行这个程序的命令,就可以看到板子上的linux在执行这个程序了。
选定交叉编译环境
pwd:显示相关目录的路径.,建立一个路径:sudo mkdir -p /home/guangod/qgsdk/buildroot
注:删除一个路径:sudo rmdir -p /home/guangod/qgsdk/buildroot
实例
Tina Linux是基于 openwrt-14.07 的版本的软件开发包。而openwrt是一个开源的嵌入式linux自动构建框架,由makefile和kconfig构成。
开发流程
检查系统需求
只支持ubuntu操作系统下的编译。
搭建编译环境
开发机器需要安装的各种软件包和工具
选择设备
在编译源码前,开发者需要先导出预定义环境变量,然后根据开发者根据的需求,选择对应的硬件板型.
系统定制
开发者可以根据使用的硬件板子、产品定义,定制 U-Boot、Kernel 及 Openwrt
编译与打包
完成设备选择、系统定制之后执行编译命令,包括整体或模块编
译以及编译清理等工作,进一步的,将生成的 boot/内核二进制文件、根文件
系统、按照一定格式打包成固件。
烧录并运行
继生成镜像文件后,将介绍如何烧录镜像并运行在硬件设备。
主机编译环境搭建(对应的就是ubuntu开发环境安装)
ubuntu作为编译服务器,通过usb或串口与开发板相连,可将编译后的镜像文件烧写到目标硬件板,并调试程序。
需要安装gcc, binutils, bzip2,flex, python, perl, make,ia32-libs, find, grep, diff, unzip, gawk, getopt, subversion, libzdev, libc headers.
或直接输入命令:
sudo apt-get install build-essential subversion git libncurses5-dev zlib1g-dev gawk flex quilt libssl-dev xsltproc libxml-parser-perl mercurial bzr ecj cvs unzip ia32-libs-y
实际操作时,无论是一个个输安装命令还是其他一块安装的方式,都会出现无法定位软件包的问题???
原因为:复制时的斜杠为全角,输一遍半角,就可以直接安装上了.
出现无法定位软件包 ia32-libs-y的问题?
安装替代安装包:sudo apt-get install libc6:i386 libgcc1:i386 gcc-4.6-base:i386 libstdc++5:i386 libstdc++6:i386
stack overflow上的答案:
sudo -i
cd /etc/apt/sources.list.d
echo "deb http://old-releases.ubuntu.com/ubuntu/ raring main restricted universe multiverse" >ia32-libs-raring.list
apt-get update
apt-get install ia32-libs
烧录软件安装
路径为:/media/guangod/娱乐盘/QiganCenter/software/tools/aw_tools/.
使用./LiveSuit.run运行时提示没有dkms?
解决没有dkms问题?
dkms是一个内核模块管理工具.
刚开始选的几个发布源,确这是没有这个的,后来经过同事指点,在百度上搜dkms安装包,发现在ubuntu 官网上就有这个包,重新在"软件和更新"选择ubuntu官方的发布源,再执行sudo atp-get install dkms,好了,安装上了.
添加LiveSuit文件操作权限问题
chmod 777 LiveSuit.run,提示权限不足,这个777实质是文件调用权限分为三级 : 文件所有者(Owner)、用户组(Group)、其它用户(Other Users)。r,w,x,x就是可执行权限,用八进制数表示的.
使用
先输入命令:cd ~/Bin/LiveSuit
然后输入:./LiveSuit.sh
执行过程中出现 “error while loading shared libraries: libpng12.so.0 : cannot open shared object file: No such file or directory”??
从Launchpad.net 这个网站下载libpng12-0_1.2.54-1ubuntu1.1_amd64.deb,这个安装包,直接安装上即可.
登堂入室之soc开发环境及硬件开发准备相关推荐
- android开发环境建立以及开发工具的使用--怎样使用eclipse来开发android源码
/** 版本:1.0 日期:2009-04-01 作者:HKjinzhao 备注: 转自:http://blog.csdn.net/hkjinzhao/article/details/4043997 ...
- Flutter 从配制开发环境再到开发第一个应用
Flutter 从配制开发环境再到开发第一个应用 从java开发走起,开发java,先下载jdk sdk,然后配制环境变量,最后配制开发工具,进入开发. 在Flutter这里,也是先下载 Flutte ...
- Android连载之:第二章第三节:利用其他的开发环境和工具开发Android应用程序
2.3 利用其他的开发环境和工具开发Android应用程序 推荐使用带有Android插件的Eclipse来开发Android应用程序,ADT插件提供了编辑.编译.调试功能并集成进了IDE中.然而,S ...
- 【Linux Mint 深度学习开发环境搭建】开发软件安装
系列文章目录 第一章 Linux mint 深度学习开发环境搭建之Nvidia显卡相关软件安装 第二章 Linux mint 深度学习开发环境搭建之开发软件安装 第三章 Linux mint 深度学习 ...
- python开发工具及环境配置_python_在windows下安装配置python开发环境及Ulipad开发工具...
最近开始学习Python,在网上寻找一下比较好的IDE.因为以前用C#做开发的,用Visual Studio作为IDE,鉴于用惯了VS这么强大的IDE,所以对IDE有一定的依赖性. Python的ID ...
- 鸿蒙开发起步系列 | 环境搭建、HarmonyOS应用开发及智能硬件开发
本文从鸿蒙环境搭建开始说起,并汇总了HarmonyOS智能硬件开发和应用开发的一手资料,全场景剖析HarmonyOS系统究竟是什么.如何助力开发者更便捷高效地开发应用. 1.我的鸿蒙起步--开发环境搭 ...
- 可以运行vivado的云服务器,百度云服务器FPGA标准开发环境的逻辑开发与编译示例 - 全文...
镜像是云服务器实例运行环境的模板,包括操作系统和预装软件等配置.百度云为每个FPGA实例默认提供了专属公共镜像,用户可以按需选择适合的镜像类型. 概述 基于百度云自研的FPGA加速卡,提供了一套FPG ...
- java 开发环境配置_Java 开发环境配置
在本章节中我们将为大家介绍如何搭建Java开发环境.Windows 上安装开发环境 Linux 上安装开发环境 安装 Eclipse 运行 Java window系统安装java 下载JDK 首先我们 ...
- python有哪些常见的开发环境_Python集成开发环境有哪些
对于Python集成开发环境,你更喜欢哪一款? 0.Spyder Spyder是Python(x,y)的作者为它开发的一个简单的集成开发环境.和其他的Python开发环境相比,它最大的优点就是模仿MA ...
最新文章
- android手势放大自动还原,ImageView通过matrix实现手势缩放,放大,缩小 ,移动
- 第二次 图书助手冲刺第一天
- java 正则表达式提取价格
- 哈佛经济学教授卧底贫民窟8年,揭开穷人最大真相:这比贫穷更可怕
- XXX 不是当前用户的有效责任,请联系您的系统管理员
- mysql 1055 解决方案_MySQL报错1055解决方案 - 树懒学堂
- SpringBoot 2.0 Actuator监控系统
- SGPN: Similarity Group Proposal Network for 3D Point Cloud Instance Segmentation
- 树的基本定义表示方法
- centos6.8 开启透传
- turboc7运行C测试 vc6.0测试
- 2021Java春招,java求职简历模板下载
- 漫谈《大型网站技术架构》
- Arduino通过HX1838红外接收模块控制红色发光LED
- 人工客服行业遭重创,背后支撑的力量
- 教你如何使用关键词获取淘宝和天猫的商品信息
- 如何让开源多点成功的几率;开源和 COVID-19: 道高一尺魔高一丈;等开源之道每周评论2020 04 07...
- 碳素结构钢的实际拉伸性能可能与规定的最小值不同
- 14. vue的插槽
- JetPack Compose之Modifier修饰符