- 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开发环境安装 vsftpubuntu与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程序
用来编写代码的,已经安装好了。有三种安装方式:
-
sudo dpkg -i 安装包名称.deb(这个是linux下安装包格式)
-
make make install,下载源码形式
-
apt-get ,网络安装方式,类似于手机。
用来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
实际操作时,无论是一个个输安装命令还是其他一块安装的方式,都会出现无法定位软件包的问题???
原因为:复制时的斜杠为全角,输一遍半角,就可以直接安装上了.
安装替代安装包: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安装包,发现在ubuntu 官网上就有这个包,重新在"软件和更新"选择ubuntu官方的发布源,再执行sudo atp-get install dkms,好了,安装上了.
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 这个安装包,直接安装上即可.



