当前位置:网站首页>登堂入室soc之编程基础环境变量设置
登堂入室soc之编程基础环境变量设置
2022-07-26 01:49:00 【guangod】
这篇文章实际是从2019年开始写的,由于工作需求方面的原理,一直就放着呢,现在重拾linux,还是从自己手头的开发板弄起吧。
基于友善之臂smart210开始linux
开发板是2013年买的,一直放到了现在,在2019年曾玩过一段时间,但项目用不上就放到了现在,以后搞linux会是自己一个方向,所以拿出来好好研究下。先熟悉下基本的操作。
使用SD卡来启动开发板
要实现这步的操作,先要使用SD-Flasher把superboot-210写入SD卡。
先把SD卡插入电脑,使用管理员权限打开SD-Flasher
这里要注意,如果不是使用电脑上自带的SD卡座,一定要拔出来,这里就把一块把SD资料盘给格式化了,造成了一定的重复操作,同时也把之前下的全志的资料一块给弄丢了。剩下的就不用说了,这个工具是格式化出了130M左右的空间来引导,相当于装电脑时的启动盘。
烧写不同的系统要编辑一下烧写配置文件,FriendlyARM.ini这个文件
这个文件里的Action项是主要的设置项。
设置将要执行的动作,可以为Install/Run/Null,分别代表:
Install - 安装到Nand Flash;
Run –直接从SD卡运行
Null - 无动作; 设置为空时,也表示NULL
默认为“Install”
拷贝第二张光盘里的images文件夹到SD卡里
里面已经有了linux映像,andriod映像,只需要编辑下烧录配置文件即可,弄到开发板上设置成SD卡启动即可,完成从SD卡启动,或烧录到NandFlash.
使用MiniTools刷系统
安装这个工具,就不说了,在win下还是挺顺利的。
这个工具,也需要SD卡,不过,sd卡里可以不用什么镜像文件了,只需要配置文件FriendlyARM.ini,增加USB-Mode=yes。
然后,s2开关要拨到sd卡或USB启动模式->再上电,开发板会停在USB mode waitting状态。
实测安装mini tools会出现手动安装fastboot驱动?然后会出现“文件的哈希值 不在指定的目录中的错误”
还是禁用数字签名,步骤详见win下嵌入式环境搭建及frp内网穿透
win10下大概率会出现mini tools不能识别设备的问题,或驱动一直有叉号
这些都是数字签名造成的问题,一般都需要重启,禁用数字签名,可以用一次。
arm体系准备
来回刷了几个系统,还行,进入真正的嵌入式阶段。
linux三大件
bootload:系统引导;kernel:内核;RootFS(AP):根文件系统
搭建交叉编译环境
直接将第一张光盘下->linux->arm-linux-gcc-4.5.1-v6-vfp-20120301.tgz拷贝到ubuntu下,解压到/opt/FriendlyARM/toolschain/4.5.1/bin
所执行的命令为:tar -zxvf arm-linux-gcc-4.5.1-v6-vfp-20120301.tgz /opt
最后一步,也是添加到环境变量,只不过是添加到了/etc/environment,这样做为系统环境变量添加,有些问题,如果有两套交叉环境的话,就有问题了,所以最好是放到~/.bashrc里。
/etc/environment与~/.bashrc添加的环境变量有什么不同?
还真不是光这两个,还有etc/profile、/etc/bashrc
设置全局环境变量
etc/profile: 此文件为系统的每个用户设置环境信息。当用户登录时,该文件被执行一次,并从 /etc/profile.d 目录的配置文件中搜集shell 的设置。一般用于设置所有用户使用的全局变量。
# 如果/etc/profile文件不可编辑,需要修改为可编辑
chmod -v u+w /etc/profile
vim /etc/profile
# 在最后一行加上
export PATH=$PATH:/home/uusama/mysql/bin
/etc/bashrc: 当 bash shell 被打开时,该文件被读取。也就是说,每次新打开一个终端 shell,该文件就会被读取。
# 如果/etc/bashrc文件不可编辑,需要修改为可编辑
chmod -v u+w /etc/bashrc
vim /etc/bashrc
# 在最后一行加上
export PATH=$PATH:/home/uusama/mysql/bin
/etc/environment 设置的也是全局变量,从文件本身的作用上来说, /etc/environment 设置的是整个系统的环境,而/etc/profile是设置所有用户的环境。/etc/environment 中不能包含命令,即直接通过 VAR=“…” 的方式设置,不使用 export 。
# 如果/etc/bashrc文件不可编辑,需要修改为可编辑
chmod -v u+w /etc/environment
vim /etc/environment
# 在最后一行加上
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"
只对单个用户环境变量
~/.bashrc: 只对单个用户生效,当登录以及每次打开新的 shell 时,该文件被读取。
export 方式只对当前终端 Shell 有效。
vim ~/.bashrc//除了当前用户,还有个/root/.bashrc文件,root用户的
# 在最后一行加上
export PATH=$PATH:/home/uusama/mysql/bin
#完事后,source使设置立即生效
source ~/.bash_profile生效
问题
编译一个最简单程序,报 error while loading shared libraries: libz.so.1: cannot open shared object file: No such file or directory错误
缺少库,执行sudo apt-get install lib32z1,即可
边栏推荐
- The detailed knowledge summary of MySQL can be collected
- 快速创建题目文件夹
- 劳驾问一下各位老师 oracle 到pg cdc oracle 那边字段大写 pg 这边小写 同
- IDEA如何快速删除最近打开的项目
- How does Flink SQL configure to print the insert parameter log
- FFT用于估计插值后的图像重采样因子
- Big view +500 cases, software teams should improve R & D efficiency in this way
- BGP知识点总结
- proto转换Dart | 项目使用Protobuf | flutter 使用grpc
- Shell summary (1)
猜你喜欢

Pt onnx ncnn conversion problem record (followed by yolov5 training)

Digital transformation behind the reshaping growth of catering chain stores

AUTOCAD——计算面积的方法

How idea can quickly delete recently opened projects

推荐系统-协同过滤在Spark中的实现

flutter 下 grpc list没有Setter 方法 ,如何使用相关属性

SVN版本控制分支、合并功能使用

怎么使用宝塔面板把node全栈项目部署到服务器上

Analysis of zeromq

Integer data type in C language (do you really understand it)
随机推荐
What is a test case? How to design?
leetcode/只出现一次的数字
Integer data type in C language (do you really understand it)
“蔚来杯“2022牛客暑期多校训练营2 H.[Take the Elevator] 维护线段
QTreeWidget虚线设置
E. Split into two sets
达梦数据库表导入导出按钮灰色,导入不了dmp文件
The detailed knowledge summary of MySQL can be collected
推荐系统-协同过滤在Spark中的实现
Big view +500 cases, software teams should improve R & D efficiency in this way
Summary after reading "poor dad and rich dad"
Ideal Path(UVA - 1599)
Huawei wireless device WDS configuration command
The SQL script generated by powerdispatcher model runs incorrectly
Mysql_ Note2
npm ERR! code ETIMEDOUTnpm ERR! syscall connectnpm ERR! errno ETIMEDOUTnpm ERR! network request t
“蔚来杯“2022牛客暑期多校训练营2 D.[Link with Game Glitch] 二分答案+SPFA判环
【Verilog数字系统设计(夏宇闻)4-----Verilog语法的基本概念2】
[unity] random generation of two-dimensional cave map
In spark SQL, date is used to display the day of the week according to the year, month and day_ format(date,‘u‘)