如何学习嵌入式Linux: https://blog.csdn.net/thisway_diy/article/details/106101091
在第一期视频 : 第0课第7节_刚接触开发板之制作根文件系统及初试驱动.wmv ,因为要测试驱动,所以必须要把驱动程序弄到开发板里才行。 于是韦老师介绍了两种方式:
交叉编译器是在PC上运行的编译器,但是编译后得到的二进制程序却不能在PC 上运行,而只能在开发板上运行。交叉编译器命名方式一般遵循“处理器-系统-gcc”这样的 规则,一般通过名称便可以知道交叉编译器的功能。
整个嵌入式系统的加载启动任务完全交给Bootloader完成,它的主要任务是将内核映象从硬盘读到RAM中,然后跳转到内核入口启动内核(操作系统)!通俗来讲,Bootloader的作用就是初始化硬件,启动操作系统。
4. 打开SecureCRT(在资料光盘->windows工具目录),如下设置连接串口
上一篇笔记我们分享了【Linux笔记】pc机、开发板、ubuntu互ping实验。有了这个前提,我们的开发板就可以挂载Ubuntu的NFS系统(网络文件系统)。
注意:需要准备一个 USB 设备,比如 U 盘、USB 蓝牙模块、usb 网卡或者 usb 摄像头等。
在嵌入式开发中,涉及交叉编译:在 PC 上编译,在开发板上运行。所以就涉及 PC 和开发板之间的文件 传输,方法有多种:网络传输、串口传输、USB 传输,当然,还有最笨的方法:U 盘拷贝。
既然Qt是跨平台的,那么能不能在嵌入式平台实现一下呢?最近刚好看到,ST官方在开展创客大赛活动,就买了米尔科技的YA157C开发板移植一下。
如果您是第一次烧录开发板镜像,请参考https://forums.100ask.net/t/topic/3403
根文件系统是Linux内核启动之后挂载的第一个文件系统,上篇文章里已经介绍过,如何使用busybox来制作根文件系统。这篇文章介绍根文件系统制作成功后,如何让内核找到文件系统,并完成挂载,进入到系统命令行终端。
①开发板必须要和虚拟机、电脑在同一个网段内(相互可以ping通) ②将要下载到开发板的程序放到指定目录,这个目录需要在/etc/exports中指定,否则无法被挂载 ②然后在开发板上执行以下命令,要下载的程序就在开发板的/mnt目录里了 mount -t nfs -o nolock,vers=2 192.168.1.100:/design/tools /mnt 2.利用SecureCRT上传、下载文件 ①下载rzsz-3.48.tar.gz: http://download.csdn.net/detail/pcli_218/3347536 ②解压文件包,命令如下 tar zxf rzsz-3.48.tar.gz ③进入解压后的目录 cd src ④修改 Makefile CC=arm-linux-gcc OFLAG= -O -DREGISTERED ⑤编译源代码,生成rzsz程序 make posix ⑥将生成的程序rz和 sz 拷贝到开发板的/bin目录下,加上执行权限 使用方法:将编译好的程序下载到开发板上 打开串口,执行命令rz ,将会弹出一个对话框,选中你要下载的文件,添加,确定即可
上篇文章介绍了根文件系统的制作与NFS网络挂载,这篇文章介绍内核如何从本地挂载根文件系统,完成系统启动。本地挂载一般用在产品发布的时候,本地挂载的操作也分为两种。
环境:ubuntu16.04 开发板:s3c2440 挂载根文件系统时,报错mount:RPC:Unable to send;errno=Network is unreachable。 本机ip:192.168.2.100 开发板ip:192.168.2.101 虚拟机ip:192.168.2.105 三者可以ping通
综合资料百度云:https://pan.baidu.com/s/1kJdJ6xc12Yg4rPby_MatDA 提取码:4u7d
摘要:能不能在ARM板上运行Ubuntu呢?答案肯定是可以的,Ubuntu是Linux系统的一种,可以简单的将Ubuntu理解为一个根文件系统,和我们用busybox、buildroot制作的根文件系统一样。因此移植Ubuntu也就是将Ubuntu根文件系统移植到我们的开发板上。
首先使用串口工具登陆开发板,然后在开发板上输入rz命令,此时终端会提示等待接收 ,此时在Mobaxterm里面鼠标右键会弹出一个选择框,点击Send file using Z-modem 来传输文件,如下图所示:
BusyBox 是一个集成了一百多个最常用linux命令和工具的软件。BusyBox 包含了一些简单的工具,例如ls、cat和echo等等,还包含了一些更大、更复杂的工具。有些人将 BusyBox 称为 Linux 工具里的瑞士军刀。简单的说BusyBox就好像是个大工具箱,它集成压缩了 Linux 的许多工具和命令,也包含了 Android 系统的自带的shell。BusyBox提供了一个比较完善的环境,可以适用于任何小的嵌入式系统。
使用网络烧写的方式来进行调试是非常方便的,本次推文将介绍使用tftp在服务器下载Linux内核镜像和设备树,并使用NFS网络挂载根文件系统的方法。
本章节将讲解如何使用电脑(上位机)交叉编译一个打印 hello word 的小应用,并将其push到开发板(下位机)上运行起来,打印出 hello word。这是嵌入式应用开发的最基础步骤。在此之前,你需要具备嵌入式编程的基本知识,如下。
本篇重点是讲LVGL的开发辅助工具,以及利用这些工具将LVGL制作UI之后移植到嵌入式Linux开发板上显示。
需求说明: 在开发板使用过程中,如果不小心烧写错了POPM,导致开发板没法正常启动,这时候就可以使用EJTAG完成POPM烧写。
为了给客户的测试和开发提供便利,飞凌嵌入式的开发板产品一般都支持多种操作系统,以基于全志T507H处理器设计研发的OKT507-C开发板为例,它支持三种操作系统,分别是:Linux、Android 和 Forlinx Desktop(Ubuntu),这里提到的Forlinx Desktop系统是飞凌嵌入式在Ubuntu base的基础上构建的桌面操作系统,完全兼容Ubuntu18.04,相对传统的Linux系统而言易用性更高。
我们写过很多ping问题的解决方法文章,但是最近我们发现之前用的桥接模式太复杂:需要开发板,Windows,ubuntu三者都ping通,步骤太多,很繁琐。最近我们研究出VMware 设置成NAT模式,然后进行端口映射,只要开发板和windows能一边ping通(比如开发板能PINGWindows或windows能PING开发板),开发板就能挂载ubuntu的文件,是怎么做到的呢?下面将系统讲解…
请按前面第七章使用 GIT 下载源码、使用 repo 下载工具链,并配置了交叉编译工具链。
我们的第一期是教大家如何将ARM开发板当作单片机来用,但在这期视频的第一节,我告诉你们,学习单片机是没有前途的。
项目遇到一个问题,就是程序在Ubuntu下运行的时候是正常的,至少大部分时候运行是正常的,但是移到开发板上,就会出现段错误。这时候突然想到了GDB,从来都没有接触过调试工具,以前的调试都是使用printf直接打印的方式!!!效率极低!准备鸟枪换炮!!!
上篇文章,使用BusyBox构建了基础的嵌入式Linux系统的根文件系统,基本的功能可以正常运行,但在这个基础功能上,还要许多地方需要完善。
答:可以用, USB 2.0分两种,全速12M,高速480M; 所谓全速12M也就是USB 1.1的速率。
使用linux进行嵌入式开发的时候,为了方便开发,通常是将开发板挂载到宿主机的文件系统上,然后将代码放到共享给开发板的目录中,再通过开发板运行。 首先查看是否安装了 nfs 软件包,yum list installed | grep nfs。如果安装,则可进行下面设置。 nfs 服务器端配置: 1.首先建立共享目录:在根目录下建立share目录。执行 mkdir /share 2.然后对 exports 文件进行编辑:vim /etc/exports 如果之前没有通过 nfs 共享过目录,该文件是空的,向里面填入如下内容:
V853 是一颗面向智能视觉领域推出的新一代高性能、低功耗的处理器SOC,可广泛用于智能门锁、智能考勤门禁、网络摄像头、行车记录仪、智能台灯等智能化升级相关行业。V853 集成Arm Cortex-A7和RISC-V E907 双CPU,内置最大 1T 算力 NPU,使用全志自研 Smart 视频引擎,最大支持5M@25fps H.265编码和5M@25fps H.264编解码,同时集成高性能 ISP 图像处理器,可为客户提供专业级图像质量。V853 还支持 16-bit DDR3/DDR3L,满足各类产品高带宽需求;支持 4lane MIPI-CSI/DVP/MIPI-DSI/RGB 等丰富的专用视频输入输出接口,满足各类AI视觉产品需求;采用先进的22nm工艺,具有更优的功耗和更小的芯片面积。
一套linux体系,只有内核本身是不能工作的,必须要 rootfs 上的 etc 目录下的配置文件、/bin /sbin 等目录下的 shell 命令,还有 /lib 目录下的库文件等···)相配合才能工作 。
之前一直是将ARM的Linux环境搭建在虚拟机中,然后在主机Windows中开启虚拟机来进行使用。而如今早已习惯Linux的使用,也已经完全适应在Linux下的日常使用了,所以本次打算将虚拟机中的嵌入式环境转移到主机Linux中,主机Linux使用的是Ubuntu 18.04,ARM CPU采用的是S5PV210。嵌入式开发环境搭建相对还是比较繁杂,故在此做个记录。
作为一款经典的国产芯,全志T507-H芯片被广泛应用于车载电子、电力、医疗、工业控制、物联网、智能终端等诸多领域当中,而在各种复杂的嵌入式Linux应用场景当中,“打通ARM板卡与Windows设备间的壁垒以实现跨平台的文件共享”是一项不能被忽视的重要功能,那么该如何做到这一点呢?
我的方案开发选择采用SD卡/U盘的方式来加载3D打印模型文件,因此在PC端U盘里的文件的显示是这样的:
最近在学习系统移植的相关知识,在学习和调试过程中,发现了很多问题,也解决了很多问题,但总是对于我们的开发结果有一种莫名其妙的感觉,纠其原因,主要对于我们的开发环境没有一个深刻的认识,有时候几个简单的命令就可以完成非常复杂的功能,可是我们有没有想过,为什么会有这样的效果?如果没有去追问,只是机械地完成,并且看到实验效果,这样做其实并没有真正的掌握系统移植的本质。
下载完成后,将sunxi-mpp.tar.gz压缩包放入虚拟机的任意目录,假设放在/home/book/workspaces目录下,
GDB是一个工具,可以像MDK IAR之类的一样一步步的执行程序,查看变量的值,设置断点,查看运行结果。
开发板:jz2440 主机linux:ubuntu 9.10(资料光盘那个) 内核:linux2.6.22.6 交叉编译器:arm-linux-gcc 3.4.5(也可以用毕业班4.3.2那个编译器,不过我没找对lib,失败了,先不深究) busybox:busybox-1.21.0.tar.bz2 本来想用韦老师视频用的busybox-1.17.0,后来发现不支持ftp和tftp, 只好放弃了
参考博文: http://blog.51cto.com/9291927/1791237
在众多嵌入式操作系统中,Linux目前发展最快、应用最为广泛。性能优良、源码开放的Linux具有体积小、内核可裁减、网络功能完善、可移植性强等诸多优点,非常适合作为嵌入式操作系统。一个最基本的Linux操作系统应该包括:引导程序、内核与根文件系统三部分。
Trusted Firmware-A(TF-A)是用于 Arm A-Profile 体系结构(Armv8-A 和 Armv7-A)的安全世界软件的参考实现,其中包括 Exception Level 3(EL3)安全监视器。它为在 AArch32 或 AArch64 执行状态下的安全世界启动和运行时固件产品化提供了一个合适的起点。
如上图的100ask6ull开发板,⑦为USB口,U盘从这里插入;⑱为mico sd卡槽,micro sd卡可以直接从这里插入。
NXP 会从linux内核官网下载某个版本,然后将其移植到自己的 CPU上,测试成功后就会将其开放给NXP的CPU开发者。开发者下载 NXP 提供的 Linux 内核,然后将其移植到自己的产品上。
###一、Bootloader的安装(在windows下进行) 1、什么是Bootloader: 要想弄明白什么是Bootloader,我们先从PC上的bootloader说起。PC上的BIOS和硬盘上的引导记录有着和嵌入式开发板中的bootloader类似的作用。PC的Bootloader由BIOS和MBR组成,BIOS固化在主板的一个芯片上,MBR则是硬盘的主引导扇区的缩写。PC启动后,首先执行BIOS的启动程序,根据用户的COMS设置,BOIS加载硬盘MBR的启动数据,并把系统的控制权交给保存在MBR
注意:此方式烧录进的文件系统是ubifs文件系统,如果操作 需要网络文件系统挂载或者使用TF卡,不推荐使用。
版权声明:本文为博主原创文章,转载请注明博客地址: https://blog.csdn.net/zy010101/article/details/90727870
3A5000板卡采用全国产龙芯3A5000处理器,基于龙芯自主指令系统(LoongArch®),市面上龙芯3A5000主板价格都在上万元,可以说是非常贵了,
NanoPi-NEO(http://www.friendlyelec.com.cn/nanopi-neo.asp)是一款基于全志H3的小体积核心板,我手里使用的是v1.4版本,如下。
参考:《Hi3516CV500╱Hi3516DV300 SDK 安装及升级使用说明》 海思HI3516DV300 自学记录【1】:linux服务器SDK安装、nfs挂载
领取专属 10元无门槛券
手把手带您无忧上云