当前位置: 首页 > news >正文

GEC6818开发板的环境配置

GEC6818开发板的环境配置

一、使用tftp进行文件传输

假设在上述 C:\EFI 文件夹下有文件example.txt,在开发板中可执行如下命令下载该文件:

tftp 192.168.9.65 -g  -r example.txt

如果想要将开发板的文件发送到tftpd服务端,命令如下:

tftp 192.168.9.65 -p  -r example.txt

二、SSH协议连接开发板

1、将压缩包SSH_config.tar.bz 下载到开发板根目录

2、进入开发板根目录,解压缩,配置协议

cd  / 
tar   -xzvf   SSH_config.tar.bz 
cd   SSH/openssh/ 
./auto 

3、配置ssh密码

passwd   root 

4、重启开发板

reboot

5、ubuntu下载ssh服务

sudo apt-get install openssh-server

检查是否启动:

sudo ps -e | grep ssh   

没启动:

sudo service ssh start

5、利用SSH 协议登录到开发版中
在ubuntu 终端输入

ssh  root@192.168.64.233 

三、交叉编译工具链移植步骤

1、把arm-linux-gnueabi-5.4.0.tar.xz拷贝到家目录

cp  arm-linux-gnueabi-5.4.0.tar.xz  ~

2、进入家目录,解压该文件

cd ~
tar  -xvf  arm-linux-gnueabi-5.4.0.tar.xz

3、进入./usr/local/arm/5.4.0/usr/bin, 先使用pwd查看当前的绝对路径,

~/usr/local/arm/5.4.0/usr/bin$ pwd /home/gec/usr/local/arm/5.4.0/usr/bin

临时设置环境变量:export PATH= P A T H : / h o m e / g e c / u s r / l o c a l / a r m / 5.4.0 / u s r / b i n 永久设置: 1 》打开配置  / . b a s h r c s u d o g e d i t / . b a s h r c 2 》把命令 e x p o r t P A T H = PATH:/home/gec/usr/local/arm/5.4.0/usr/bin 永久设置: 1》打开配置~/.bashrc sudo gedit ~/.bashrc 2》把命令export PATH= PATH:/home/gec/usr/local/arm/5.4.0/usr/bin永久设置:1》打开配置 /.bashrcsudogedit /.bashrc2》把命令exportPATH=PATH:/home/gec/usr/local/arm/5.4.0/usr/bin 配置文件最后一行
3》关闭终端,重新开 或 source ~/.bashrc
5、在ubuntu里面操作,编译.c文件

arm-linux-gcc test.c -o test1

遇到的问题
如果是20.04的ubuntu,可能会报错

gec@ubuntu:~$ arm-linux-gcc 11.c -o 11
/home/gec/usr/local/arm/5.4.0/usr/bin/../libexec/gcc/arm-none-linux-gnueabi/5.4.0/cc1: 
error while loading shared libraries: libmpfr.so.4: cannot open shared object file: No such file or directory

解决方法:
创建符号链接

sudo ln -s /usr/lib/x86_64-linux-gnu/libmpfr.so.6 /usr/lib/x86_64-linux-gnu/libmpfr.so.4

四、开发版扩容

块设备
应用程序和驱动程序之间进行数据交换的时候,是以块(1block=1024B)为单位的。这些数据传递的顺序是不固定的。块设备是有缓存的。块设备是有文件系统的。
块设备:大容量的存储设备:U盘、移动硬盘、SD卡、eMMC、…
应用程序:挂载—>标准IO函数:fopen()/fread()/fwrite()/…

例:
[root@GEC6818 /]#df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/root 352756 273244 79512 77% / ---->存放rootfs的电子硬盘分区:352756*1kB = 350MB
devtmpfs 405404 0 405404 0% /dev
tmpfs 413720 0 413720 0% /dev/shm
tmpfs 413720 0 413720 0% /tmp
tmpfs 413720 0 413720 0% /run

[root@GEC6818 /]#cat /proc/partitions
major minor #blocks name

179 0 7634944 mmcblk0
179 1 65536 mmcblk0p1
179 2 772096 mmcblk0p2 ----->rootfs
179 3 438272 mmcblk0p3
179 4 1 mmcblk0p4
179 5 8192 mmcblk0p5
179 6 22528 mmcblk0p6
179 7 6324224 mmcblk0p7 ---->没有使用,我们可以把数据放在这个分区。
179 16 4096 mmcblk0boot1
179 8 4096 mmcblk0boot0

1> 格式化暂未被使用的分区mmcblk0p7
[root@GEC6818 /]#mkfs.vfat /dev/mmcblk0p7

在开发板的根目录下创建一个目录
mkdir mdata

2> 使用mount命令把该分区挂载到 /mdata目录中 -t指定文件系统类型为vfat
[root@GEC6818 /]#mount -t vfat /dev/mmcblk0p7 /mdata
[root@GEC6818 /]#df -h
Filesystem Size Used Available Use% Mounted on
/dev/root 344.5M 344.5M 0 100% /
devtmpfs 395.9M 0 395.9M 0% /dev
tmpfs 404.0M 0 404.0M 0% /dev/shm
tmpfs 404.0M 0 404.0M 0% /tmp
tmpfs 404.0M 0 404.0M 0% /run
/dev/mmcblk0p7 6.0G 61.9M 6.0G 1% /mdata

3> 通过挂载点解除挂载
[root@GEC6818 /]#umount /mdata

注意重启后挂在会还原,如果需要开机自动挂载的话需要把步骤<2>写到/etc/profile中,该分区内资料并不会被清除可放心使用

4>将挂载命令输入到启动配置文件中,让开发板开机自动挂载
vi /etc/profile

在文本最后输入挂载命令
mount -t vfat /dev/mmcblk0p7 /mdata

总结:

1、格式化分区 mkfs.vfat /dev/mmcblk0p7
2、在根目录下创建一个空的目录 mkdir mdata

[root@GEC6818 /]#mkdir mdata

3、挂载 mount -t vfat /dev/mmcblk0p7 /mdata

[root@GEC6818 /]#mount -t vfat /dev/mmcblk0p7 /mdata

4、把第三步的命令写到 脚本文件中 /etc/profile

相关文章:

  • AI界的“拼夕夕”登场,为上万张GPU寻找新使命
  • 磁盘管理后续——盘符漂移问题解决
  • Java进阶学习笔记21——泛型概念、泛型类、泛型接口
  • 风景园林设计乙级资质被撤销后的恢复途径
  • 生意人【着眼于未来、公私分明、有决断又有人情味、立场、享受过程】
  • 部署LAMP平台
  • web刷题记录(1)
  • PADS做CAM文件时,提示填充宽度对于精确的焊盘填充过大
  • 剪映网页版
  • 面向可复用性和可维护性的设计模式 课程学习总结
  • 基于java实现图片中任意封闭区域识别
  • NSSCTF-Web题目4
  • Bentham Science药学全文期刊库文献在家轻松下载
  • Java开发-面试题-0001-String、StringBuilder、StringBuffer的区别
  • Gir clone 设置代理与错误
  • [译]CSS 居中(Center)方法大合集
  • 2019年如何成为全栈工程师?
  • 5、React组件事件详解
  • ECMAScript入门(七)--Module语法
  • k8s如何管理Pod
  • mockjs让前端开发独立于后端
  • SegmentFault 2015 Top Rank
  • SpringCloud集成分布式事务LCN (一)
  • unity如何实现一个固定宽度的orthagraphic相机
  • vue从入门到进阶:计算属性computed与侦听器watch(三)
  • vue和cordova项目整合打包,并实现vue调用android的相机的demo
  • 分布式熔断降级平台aegis
  • 前嗅ForeSpider采集配置界面介绍
  • 区块链将重新定义世界
  • 突破自己的技术思维
  • 王永庆:技术创新改变教育未来
  • 鱼骨图 - 如何绘制?
  • 基于django的视频点播网站开发-step3-注册登录功能 ...
  • 通过调用文摘列表API获取文摘
  • 选择阿里云数据库HBase版十大理由
  • # Swust 12th acm 邀请赛# [ K ] 三角形判定 [题解]
  • #我与Java虚拟机的故事#连载02:“小蓝”陪伴的日日夜夜
  • (1)svelte 教程:hello world
  • (2.2w字)前端单元测试之Jest详解篇
  • (C语言)求出1,2,5三个数不同个数组合为100的组合个数
  • (Pytorch框架)神经网络输出维度调试,做出我们自己的网络来!!(详细教程~)
  • (含react-draggable库以及相关BUG如何解决)固定在左上方某盒子内(如按钮)添加可拖动功能,使用react hook语法实现
  • (十八)三元表达式和列表解析
  • (原创) cocos2dx使用Curl连接网络(客户端)
  • (原創) 人會胖會瘦,都是自我要求的結果 (日記)
  • (转)【Hibernate总结系列】使用举例
  • .NET6使用MiniExcel根据数据源横向导出头部标题及数据
  • .NET中两种OCR方式对比
  • [ 英语 ] 马斯克抱水槽“入主”推特总部中那句 Let that sink in 到底是什么梗?
  • [20170713] 无法访问SQL Server
  • [23] 4K4D: Real-Time 4D View Synthesis at 4K Resolution
  • [ACTF2020 新生赛]Include
  • [AIGC] 深入浅出 Python中的`enumerate`函数
  • [Android Pro] android 混淆文件project.properties和proguard-project.txt
  • [Android]常见的数据传递方式