韦东山嵌入式专栏

嵌入式专家,专注嵌入式教学12年

  • 博客(20)
  • 资源 (19)
  • 收藏
  • 关注

原创 韦东山鸿蒙开发教程02 - 资料下载方法

在线课堂:https://www.100ask.net/index(课程观看)论  坛:http://bbs.100ask.net/(学术答疑)开 发 板:https://100ask.taobao.com/ (淘宝)     https://weidongshan.tmall.com/(天猫)交流群一:QQ群:869222007(鸿蒙开发/Linux/嵌入式/驱动/资料下载)交流群二:QQ群:536785813(单片机-嵌入式)公 众 号:百问科技版本日期作者说明V

2020-11-30 16:25:39 1229 2

原创 韦东山鸿蒙开发教程01 - 鸿蒙介绍

在线课堂:https://www.100ask.net/index(课程观看)论  坛:http://bbs.100ask.net/(学术答疑)开 发 板:https://100ask.taobao.com/ (淘宝)     https://weidongshan.tmall.com/(天猫)交流群一:QQ群:869222007(鸿蒙开发/Linux/嵌入式/驱动/资料下载)交流群二:QQ群:536785813(单片机-嵌入式)公 众 号:百问科技版本日期作者说明V

2020-11-30 16:13:37 1344

原创 怎么使用 Yocto 构建文件系统?

1. 简介Yocto项目使用更强大和定制化的方法,来构建出适合嵌入式产品的Linux系统。Yocto不仅仅是一个制做文件系统工具,同时提供整套的基于Linux的开发和维护工作流程,使底层嵌入式开发者和上层应用开发者在统一的框架下开发,解决了传统开发方式下零散和无管理的开发形态。yocto是一个开源的“umbrella”项目,意指它下面有很多个子项目,Yocto只是把所有的项目整合在一起,同时提供一个参考构建项目Poky,来指导开发人员如何应用这些项目,构建出嵌入式Linux系统。它包含Bitbake、

2020-11-26 17:19:28 4868 4

原创 怎么使用 Buildroot 构建根文件系统

1. Buildroot 简介制作根文件系统有归多种方法:① 使用Busybox手工制作Busybox本身包含了很了Linux命令,但是要编译其他程序的话需要手工下载、编译,如果它需要某些依赖库,你还需要手工下载、编译这些依赖库。如果想做一个极简的文件系统,可以使用Busybox手工制作。② 使用Buildroot自动制作它是一个自动化程序很高的系统,可以在里面配置、编译内核,配置编译u-boot、配置编译根文件系统。在编译某些APP时,它会自动去下载源码、下载它的依赖库,自动编译这些程序。B

2020-11-24 15:32:18 4849 1

原创 怎么安装内核和模块到开发板上?

开发过程中最常用的是NFS假设:执行上述命令后,在Ubuntu的/home/book/nfs_rootfs目录下已经有了uImage、dtb文件,并且有lib/modules子目录(里面含有各种模块)。下面,要把这些文件复制到开发板上。如果你使用的是VMware NAT方式,或是使用docker,假设Windows IP为192.168.1.100,在开发板启动进入Linux后,输入root登录,然后执行以下命令(注意:必须指定port为2049、mountport为9999):mount -t

2020-11-24 15:03:18 1090 1

原创 怎么编译Linux内核?

1. Linux 内核介绍Linux内核(英语:Linux kernel)是一种开源的类Unix操作系统宏内核。整个Linux操作系统家族基于该内核部署在传统计算机平台(如个人计算机和服务器,以Linux发行版的形式)和各种嵌入式平台,如路由器、无线接入点、专用小交换机、机顶盒、FTA接收器、智能电视、数字视频录像机、网络附加存储(NAS)等。工作于平板电脑、智能手机及智能手表的Android操作系统,它的底层操作系统也是Linux。尽管在桌面计算机的占用率较低,但基于Linux的操作系统统治了几乎从移

2020-11-24 14:59:30 4567 6

原创 Linux解压编译Tfa/bootloader

1.解压编译Tfa1.1 Tfa 介绍Trusted Firmware-A(TF-A)是用于 Arm A-Profile 体系结构(Armv8-A 和 Armv7-A)的安全世界软件的参考实现,其中包括 Exception Level 3(EL3)安全监视器。它为在 AArch32 或 AArch64 执行状态下的安全世界启动和运行时固件产品化提供了一个合适的起点。TF-A 实施 Arm 接口标准,包括:电源状态协调接口(PSCI)受信任的板引导要求客户端(TBBR-CLIENT)SMC呼叫约

2020-11-23 11:11:06 1620 5

原创 配置交叉编译工具链-嵌入式Linux

注意:使用我们提供的Ubuntu映象文件时,请按照我们的目录结构,手动设置交叉编译工具链以及编译的架构环境变量配置,(建议配置为永久生效),这里我们提供了两种交叉编译工具链,分别是buildroot构建生成的8.4以及yocto生成的9.3工具链,开发板系统默认安装的系统使用的是通过yocto编译构建,所以如果只想针对于文件系统应用做开发或者编译内核uboot等操作,建议只使用yocto的交叉编译工具链。1.设置 yocto 交叉编译工具链(不推荐)交叉编译工具链用来在Ubuntu主机上编译应用程序,

2020-11-23 10:19:20 3284 1

原创 使用命令通过串口实现开发板和PC文件互传

1.使用 rz 命令通过串口下载 Windows 文件到开发板上注意:rz命令不稳定,不可靠,在没有其他办法的情况下再用它。可以使用 rz 命令,将 PC 上的文件传输到开发板。首先使用串口工具登陆开发板,然后在开发板上输入rz命令,此时终端会提示等待接收 ,此时在Mobaxterm里面鼠标右键会弹出一个选择框,点击Send file using Z-modem 来传输文件,如下图所示:注意: rz命令传输速率太小,适合传输小文件,不适合大文件,我们还是推荐nfs挂载的方式进行文件的传输。2

2020-11-23 10:02:04 11317 3

原创 Linux-kmod 内核模块管理工具使用

1.1 lsmod:列出已经安装了哪些模块[root@imx6ull:~]# lsmod提示信息含义说明:• Module :表示模块的名称• Size : 表示模块的大小• Used: 使用者1.2 insmod:手工安装模块后面讲到的 modprobe 命令,它是从/lib/modules 下的目录里自动安装某个模块。但是在实验过程中,我们经常需要手工安装其他目录下的模块,可以使用以下命令安装(需要指定模块文件即 ko 文件的位置)。[root@imx6ull:~]# insmod

2020-11-23 09:48:29 5138

原创 IMX6ULL_PRO嵌入式开发板介绍

1.简介100ASK_IMX6ULL_PRO开发板基于 NXP CORTEX-A7 IMX6ULL处理器底板资源丰富,核心板8层PCB沉金工艺和无铅工艺、拥有独立的完整接地层,已通过CE认证;4层黑色沉金工艺底板原理图PCB图原文件全部开源;板载WFi、蓝牙;核心板(8层PCB)上140个引脚资源基本全应用,且我们还引出了CAMERA+扩展GPO口,可以接上自己的模块;配套千页教程手册,100多讲视频教程。2.配套教程【第1篇】新学习路线、视频介绍、资料下载:https://www.

2020-11-20 16:52:16 2822

原创 嵌入式Linux异步通知方式

功能介绍所谓同步,就是“你慢我等你”。那么异步就是:你慢那你就自己玩,我做自己的事去了,有情况再通知我。所谓异步通知,就是 APP 可以忙自己的事,当驱动程序用数据时它会主动给 APP 发信号,这会导致 APP执行信号处理函数。仔细想想“发信号”,这只有 3 个字,却可以引发很多问题:① 谁发:驱动程序发② 发什么:信号③ 发什么信号:SIGIO④ 怎么发:内核里提供有函数⑤ 发给谁:APP,APP 要把自己告诉驱动⑥ APP 收到后做什么:执行信号处理函数⑦ 信号处理函数和信号,之.

2020-11-19 10:00:33 1023 1

原创 嵌入式Linux的POLL/SELECT 方式

7.3.6 POLL/SELECT 方式功能介绍 POLL 机制、SELECT 机制是完全一样的,只是 APP 接口函数不一样。简单地说,它们就是“定个闹钟”:在调用 poll、select 函数时可以传入“超时时间”。在这段时间内,条件合适时(比如有数据可读、有空间可写)就会立刻返回,否则等到“超时时间”结束时返回错误。用法如下。APP 先调用 open 函数时。APP 不是直接调用 read 函数,而是先调用 poll 或 select 函数,这 2 个函数中可以传入“超时时间”。它们的作

2020-11-19 09:55:14 805

原创 嵌入式Linux获取设备信息、查询方式、休眠-唤醒方式

7.3.3 获取设备信息通过 ioctl 获取设备信息,ioctl 的参数如下:int ioctl(int fd, unsigned long request, ...);有些驱动程序对 request 的格式有要求,它的格式如下:比如 dir 为_IOC_READ(即 2)时,表示 APP 要读数据;为_IOC_WRITE(即 4)时,表示 APP 要写数据。size 表示这个 ioctl 能传输数据的最大字节数。type、nr 的含义由具体的驱动程序决定。比如要读取输入设备的 evbi

2020-11-19 09:44:39 838

原创 嵌入式Linux APP 访问硬件的 4 种方式

妈妈怎么知道卧室里小孩醒了?① 时不时进房间看一下:查询方式简单,但是累② 进去房间陪小孩一起睡觉,小孩醒了会吵醒她:休眠-唤醒不累,但是妈妈干不了活了③ 妈妈要干很多活,但是可以陪小孩睡一会,定个闹钟:poll 方式要浪费点时间,但是可以继续干活。妈妈要么是被小孩吵醒,要么是被闹钟吵醒。④ 妈妈在客厅干活,小孩醒了他会自己走出房门告诉妈妈:异步通知妈妈、小孩互不耽误。这 4 种方法没有优劣之分,在不同的场合使用不同的方法。百问网技术论坛:http://bbs.100ask.ne.

2020-11-19 09:22:54 1998 3

原创 嵌入式输入系统框架及调试

7.1 什么是输入系统先来了解什么是输入设备?常见的输入设备有键盘、鼠标、遥控杆、书写板、触摸屏等等,用户通过这些输入设备与 Linux 系统进行数据交换。什么是输入系统?输入设备种类繁多,能否统一它们的接口?既在驱动层面统一,也在应用程序层面统一?可以的。Linux 系统为了统一管理这些输入设备,实现了一套能兼容所有输入设备的框架:输入系统。驱动开发人员基于这套框架开发出程序,应用开发人员就可以使用统一的 API 去使用设备。7.2 输入系统框架及调试7.2.1 框架概述作为应用开发人员

2020-11-19 09:08:48 551

原创 嵌入式linux应用开发完全手册 第2版面市

韦东山老师2008年写的嵌入式linux图书<<嵌入式linux应用开发完全手册>>,虽然有些内容过时了,但丝毫不影响它的销量。10多年来陆陆续续有太多人希望我们对这本书进行更新,刚好最近正在录升级版嵌入式视频,全新的学习方式,适配多款主流开发板,我们也觉得是时候升级书籍,于是上周韦老师花了一周时间将所有升级版视频文档合并整理成一个PDF,相比之前git的pdf,对代码增...

2020-11-16 19:07:18 9388 17

原创 Framebuffer 应用编程中涉及的 API 函数

本节程序的目的是:打开 LCD 设备节点,获取分辨率等参数,映射 Framebuffer,最后实现描点函数。5.2.1 open 函数在 Ubuntu 中执行“man 2 open”,可以看到 open 函数的说明:头文件:#include <sys/types.h>#include <sys/stat.h>#include <fcntl.h>函数原型:int open(const char *pathname, int flags); int o

2020-11-13 18:52:38 1048 2

原创 LCD屏幕操作原理_嵌入式Linux

5.1 LCD 操作原理在 Linux 系统中通过 Framebuffer 驱动程序来控制 LCD。Frame 是帧的意思,buffer 是缓冲的意思,这意味着 Framebuffer 就是一块内存,里面保存着一帧图像。Framebuffer 中保存着一帧图像的每一个像素颜色值,假设 LCD 的分辨率是 1024x768,每一个像素的颜色用 32 位来表示,那么 Framebuffer 的大小就是:1024x768x32/8=3145728 字节。简单介绍 LCD 的操作原理:① 驱动程序设置好 L

2020-11-13 18:22:21 2755 4

原创 韦东山 鸿蒙移植必备的基础知识

1. 基础知识移植内核对技术的要求比较高、比较细。1.1 单片机相关的知识栈的作用加载地址、链接地址重定位几个简单的硬件知识串口定时器中断的概念1.2 Linux操作相关的知识Linux常用命令简单的脚本:脚本就是把命令写在一个文件里MakefileGCC编译命令1.3 芯片相关知识能阅读芯片手册(英文)移植最小系统时,涉及的手册内容不多能看懂硬件原理图移植最小系统时,涉及的原理图内容不多2. 驱动程序知识对于只有

2020-11-02 08:40:45 3540 4

基于百问网IMX6ULL的perf工具使用.pdf

基于百问网IMX6ULL的perf工具使用.pdf

2023-10-12

基于百问网开发板进行Linux相关打印调试

基于百问网开发板进行Linux相关打印调试

2023-10-12

基于百问网IMX6ULL使用gdb+vscode+qtcreator开

基于百问网IMX6ULL使用gdb+vscode+qtcreator开

2023-10-12

全志系列芯片Tina-Linux 系统开发 详细使用手册

全志系列芯片Tina-Linux 系统开发 详细使用手册

2022-12-27

16_imx6ull_pro之_IIC编程.pdf

16_imx6ull_pro之_IIC编程.pdf

2022-01-13

15_imx6ull_pro之_LCD编程.pdf

15_imx6ull_pro之_LCD编程.pdf

2022-01-13

14_imx6ull_pro之_TF编程.pdf

14_imx6ull_pro之_TF编程.pdf

2022-01-13

13_imx6ull_pro之_EMMC编程.pdf

13_imx6ull_pro之_EMMC编程.pdf

2022-01-13

12_imx6ull_pro之_定时器.pdf

12_imx6ull_pro之_定时器.pdf

2022-01-13

11_imx6ull_pro之_GPIO中断.pdf

11_imx6ull_pro之_GPIO中断.pdf

2022-01-13

10_imx6ull_pro之_异常与中断.pdf

10_imx6ull_pro之_异常与中断.pdf

2022-01-13

9_imx6ull_pro之_重定位.pdf

9_imx6ull_pro之_重定位.pdf

2022-01-13

8_imx6ull_pro之_UART串口编程.pdf

8_imx6ull_pro之_UART串口编程.pdf

2022-01-13

7_imx6ull_pro之_时钟体系.pdf

7_imx6ull_pro之_时钟体系.pdf

2022-01-13

6_imx6ull_pro之_Makefile与GCC.pdf

6_imx6ull_pro之_Makefile与GCC.pdf

2022-01-13

5_imx6ull_pro之_LED程序涉及的编程知识.pdf

5_imx6ull_pro之_LED程序涉及的编程知识.pdf

2022-01-13

4_imx6ull_pro之_LED程序.pdf

4_imx6ull_pro之_LED程序.pdf

2022-01-13

3_imx6ull_pro之_IMX6ULL启动流程.pdf

3_imx6ull_pro之_IMX6ULL启动流程.pdf

2022-01-13

2_imx6ull_pro之_准备开发环境.pdf

2_imx6ull_pro之_准备开发环境.pdf

2022-01-13

1_imx6ull_pro之_板载资源.pdf

1_imx6ull_pro之_板载资源.pdf

2022-01-13

csdn专题采访记录

csdn专题采访记录,全面了解韦东山

2016-06-07

韦东山1234期视频教程课程表

韦东山所有视频教程的详细目录和可达目标

2016-06-07

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除