韦东山嵌入式专栏

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

  • 博客(273)
  • 资源 (3)
  • 论坛 (64)
  • 收藏
  • 关注

原创 韦东山:6000字长文告诉你如何学习嵌入式linux
原力计划

我在100ASK_IMX6ULL售后群里,发现很多初学者只有单片机基础,甚至没有单片机基础。在学习Linux时,对很多概念比较陌生,导致不知道学什么,也不知道学了之后有什么用。所以我趁着五一假期,编写此文。从事嵌入式Linux培训12年来,我们写过很多《关于如何学习linux》的文章,这是最新的,本文将不断更新。第1章 单片机和Linux的区别1.1 有哪些产品使用单片机或Linux所有的电子产品,所用技术都可以认为要么是单片机,要么是Linux;GUI方面主要是QT/Android,它们都是运行于

2020-05-13 16:30:07 4492 15

原创 收藏!韦东山所有课程详细目录介绍(最新)

声明 此文档不定期更新,请到百度网盘: https://eyun.baidu.com/s/3b1UtLc 下载,不再另行通知。 讲师韦东山简介毕业于中国科学技术大学物理软件双学位, 畅销书《嵌入式 Linux 应用开发完全手册》作者,10 多年嵌入式 LINUX 编程一线开发经验。 为人低调谦逊, 授课风格非常有效。 不跟着PPT念, 看重实践, 确保学员享受高品质的课...

2018-04-25 17:55:11 19351 5

原创 嵌入式Linux学习路线图_2016版

网站/论坛:www.100ask.org 淘 宝:100ask.taobao.com 邮 箱:weidongshan@qq.com 微信公众号:baiwenkeji 公司 微博:百问科技 个人 微博:韦东山 版本 日期 作者 说明 V1 2016.07.29 韦东山 第1版本,Android部分未写表格完毕我是1999年上的大学,物理专业

2016-08-01 11:45:57 15215 4

原创 新人怎样学习嵌入式Linux?

作为一个新人,怎样学习嵌入式Linux 推广了解更多嵌入式知识请移步100ask.taobao.com 作为一个新人,怎样学习嵌入式Linux?被问过太多次,特写这篇文章来回答一下。在学习嵌入式Linux之前,肯定要有C语言基础。汇编基础有没有无所谓(就那么几条汇编指令,用到了一看就会)。C语言要学到什么程度呢?越熟当然越好,不熟的话也要具备基本技能。比如写一个数组排序、输...

2016-07-12 11:19:59 5402 11

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

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

2020-11-26 17:19:28 64

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

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

2020-11-24 15:32:18 128

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

开发过程中最常用的是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 65

原创 怎么编译Linux内核?

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

2020-11-24 14:59:30 236

原创 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 186 1

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

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

2020-11-23 10:19:20 135

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

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

2020-11-23 10:02:04 80

原创 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 75

原创 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 304

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

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

2020-11-19 10:00:33 181

原创 嵌入式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 171

原创 嵌入式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 154

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

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

2020-11-19 09:22:54 226

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

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

2020-11-19 09:08:48 68

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

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

2020-11-16 19:07:18 4723 10

原创 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 370

原创 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 394

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

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

2020-11-02 08:40:45 1523

原创 韦东山鸿蒙移植01-移植RTOS需要做的事

1. 框架鸿蒙是一套完整的、普通人可以直接使用的操作系统,跟Windows、安卓、IOS类似。常见的错误观点是把鸿蒙跟Linux放在一起来对比,这不对:Linux只是一个内核,普通人无法使用还需要在Linux之上安装各类程序比如Ubuntu等发行版,它们在Linux内核之上,还有桌面、各类办公软件鸿蒙支持多种内核:Linux、Liteos(又分为Liteos-a、Liteos-m)在内核之上,鸿蒙还有各种子系统,在子系统之上又有桌面等软件2. 嵌入式软件系统的组成我

2020-10-30 08:59:18 1801

原创 【调试笔记】韦东山:在100ask_imx6ull上移植使用六轴传感器ICM20608

之前发了LCD调试笔记,大家很感兴趣,所以这次再来一篇:六轴传感器ICM20608驱动移植笔记,大家还需要什么移植笔记?可以留言。我们尽量满足。1.1 移植思路先找到驱动:也许内核里已经有,也许需要去网上查找。打开bing.com,搜“ICM20608 linux driver”,发现这个网址:https://github.com/torvalds/linux/blob/master/drivers/iio/imu/inv_mpu6050/inv_mpu_spi.c大胆假设,在linux内核中应该

2020-10-29 10:54:17 977

原创 JZ2440在U-boot中通过网络方式烧录镜像的几种方法

进入ubootu-boot相当于我们PC机的BIOS,,在PC上厂商为我们做好了图形界面,操作起来非常便利。虽然在2440中u-boot并没有界面,但是百问网制作好的uboot中有目录菜单,比较常用的操作都列了出来,开发板上电后,在倒计时结束之前按下任意键进入uboot后就可以看到下面的菜单及说明:##### 100ask Bootloader for OpenJTAG #####[n] Download u-boot to Nand Flash[c] Re-scan Nor Flash[u] C

2020-10-29 09:20:12 625

原创 Makefile 的使用(在 Linux 中使用 make 命令来编译程序)

第三章 Makefile 的使用在 Linux 中使用 make 命令来编译程序,特别是大程序;而 make 命令所执行的动作依赖于 Makefile 文件。最简单的 Makefile 文件如下:hello: hello.cgcc -o hello hello.cclean:rm -f hello将上述 4 行存为 Makefile 文件(注意必须以 Tab 键缩进第 2、4 行,不能以空格键缩进),放入 01_hello目录下,然后直接执行 make 命令即可编译程序,执行“make cle

2020-10-28 17:37:11 631

原创 GCC 编译器的使用&编译过程

视频观看地址:https://www.100ask.net/detail/p_5f338ae3e4b075dc42ad44a1/8全文下载:嵌入式Linux系统开发完全手册 第二版源文件需要经过编译才能生成可执行文件。在 Windows 下进行开发时,只需要点几个按钮即可编译,集成开发环境(比如 Visual studio)已经将各种编译工具的使用封装好了。Linux 下也有很优秀的集成开发工具,但是更多的时候是直接使用编译工具;即使使用集成开发工具,也需要掌握一些编译选项。PC 机上的编译工具链为

2020-10-21 23:15:37 1142

原创 PC 和开发板之间传输文件

8.1 传输文件的多种方法在嵌入式开发中,涉及交叉编译:在 PC 上编译,在开发板上运行。所以就涉及 PC 和开发板之间的文件传输,方法有多种:网络传输、串口传输、USB 传输,当然,还有最笨的方法:U 盘拷贝。一般的日常开发流程为:a. 在 Windows 上阅读修改代码,然后通过 FileZilla 把代码传到 VMWare 中的 Ubuntu;b. 在 Ubuntu 上编译程序;c. 把程序下载到开发板上,运行验证,d. 在 Windows 下通过串口操作开发板。所以在 Windows

2020-10-21 19:12:15 3064 6

原创 烧写整个系统或更新部分系统到STM32MP157开发板

7.1 100ASK_STM32MP157 启动开关7.1.1 全功能版板子上的红色拨码开关用来设置启动方式,支持这四种方式:EMMC 启动、SD 卡启动、USB 烧写以及 M4(debug)模式。板子背后画有一个表格,表示这四种方式如何设置。表格中 BOOT0 对应开关 1,BOOT1 对应开关 2,BOOT2对应开关 3,如下:这四种启动方式的设置示意图如下:刚出厂的板子在 EMMC 上烧写了系统,你可以设置为 EMMC 启动方式。其中的 USB 启动模式主要用来烧写系统。7.2 在

2020-10-21 18:01:53 2729 2

原创 构建一个适合stm32mp157系列开发板的嵌入式Linux系统

6.1 前言Linux平台上有许多开源的嵌入式linux系统构建框架(框架的意思就是工具),这些框架极大的方便了开发者进行嵌入式系统的定制化构建,目前比较常见的有OpenWrt, Buildroot, Yocto,等等。其中Buildroot功能强大,使用简单,而且采用了类似于linux kernel的配置和编译框架,所以受到广大嵌入式开发人员的欢迎。本章重点介绍使用Buildroot_2020.02LTS版构建文件系统和u-boot, kernel镜像的方法,并从这三个部分入手,描述如何使用Build

2020-10-12 17:39:34 4812 5

原创 stm32mp157开发板常用系统工具使用

5.1 Linux 磁盘类工具/命令使用注意:以下操作都是在开发板上操作,我们的教程涉及多款开发板,不同的 linux 版本,命令用法可能稍有差异。5.1.1 df:查看系统已用空间5.1.1.1 df 支持的命令参数简介[root@imx6ull:~]# df [-PkmhT] [目录或档名]选项与参数:-k :以 KBytes 的容量显示各档案系统;-m :以 MBytes 的容量显示各档案系统;-h :以人们较易阅读的 GBytes, MBytes, KBytes 等格式自行显示;

2020-10-10 11:36:13 846

原创 stm32mp157开发板LCD 显示测试&触摸屏测试

注 意 : 此 章 节 测 试 需 要 外 接 LCD 屏 幕 才 可 以 进 行 测 试 验 证 , LCD 模 块 介 绍 请 参 考 页 面http://download.100ask.org/modules/Lcd/100ask_imx6ull_7-inch_LCD/此节演示通过 fb-test 测试程序让 lcd 显示红绿蓝白 4 中颜色,用以观察 lcd 的显示效果。首先需要关闭默认的 qt gui 程序,才可以执行下面的测试命令,关闭 qt 命令如下所示:[root@100ask:

2020-10-09 14:43:45 823

原创 stm32mp157开发板LINE 接口测试方法

4.5.2 LINE 接口测试方法注意:LINE 接口只支持音频播放输出,需要专门支持 LINE 接口的设备才可以进行连接播放音频。如下红框所示为 LINE 接口所在位置。外接模块测试注意:LINE 模块需要单独购买,我们暂未提供 LINE 模块的相关商品。请参考下图所示连接 LINE 模块到 LINE 接口,之后使用下述播放音频命令进行播放音频文件,此时可以通过 LINE 音箱听到声音输出。播放音频:将耳机插入开发板耳机孔,使用 aplay 进行播放音频文件:[root@100as

2020-10-09 14:36:35 707

原创 stm32mp157开发板MIC 接口测试方法

4.5.2 MIC 接口测试方法录制音频:使用如下命令进行录制(执行命令后,对着板载咪头说话):[root@100ask:~]# amixer -c 0 cset numid=50 1[root@100ask:~]# amixer -c 0 cset numid=48 1[root@100ask:~]# amixer -c 0 cset numid=46 1[root@100ask:~]# amixer cset numid=3 60000 60000[root@100ask:~]# a

2020-10-09 14:32:47 926 1

原创 stm32mp157开发板声卡接口测试

4.5 声卡接口测试4.5.1 耳机接口测试方法此节演示使用三段式耳机在 100ask_stm32mp157_pro 开发板上录制声音、播放音频。注意: 需要准备一个带麦克风的三段式耳机,如下图所示:录制音频:将耳机插入开发板耳机孔,使用如下命令进行录制(执行命令后,对着麦克风说话):[root@100ask:~]# arecord -v --format=cd --device=plughw:0,1 test.wav参数讲解:–format=cd :设置格式为 16 bit l

2020-10-09 14:29:19 694

原创 stm32mp157开发板USB Host 接口&OTG 接口测试

4.3 USB Host 接口测试此节演示在终端下如何在 USB Host 接口上使用 usb 存储设备。注意:需要准备一个 USB 设备,比如 U 盘、USB 蓝牙模块、usb 网卡或者 usb 摄像头等。下面使用一个 U 盘作为例子,插到任意一个 USB Host 接口,会打印出如下设备信息:通过打印的设备信息可知,系统为该 usb 存储设备创建的设备节点为 /dev/sda。一般来说/dev/sda 对应整个U盘,/dev/sda1 对应该 U盘的第 1 个分区,/dev/sda2 对应第

2020-10-09 14:23:27 1241 2

原创 stm32mp157开发板网卡接口测试

4.1 有线网卡接口测试此节演示在串口终端下如何设置开发板的 ip 地址,测试网络的连通性。注意:既然是在开发板和电脑之间测试网络,那双方需要有网络连接。两者之间需要有一个路由器,开发板通过网线与路由器连接。而电脑与路由器之间,可以使用网线连接,也可以使用 WIFI 连接。注意:如果要测试全功能版的 2 个网卡,先测一个网卡,然后把它的网线取下来;再接网线到第 2 个网卡并测试。通过 ifconfig 命令查看 ip 地址:通过上图可知,开发板已经自动获得 IP 地址 192.168.1.1

2020-09-29 16:48:06 839

原创 stm32mp157开发板入门使用教程

1.1 有哪些资料、怎么下载请参考:《第 1 篇 新学习路线、视频介绍、资料下载》《第二章 资源下载方法》1.2 本篇开发板手册中需要学习哪些章节这个手册按需观看,初学者甚至可以先跳过本篇手册,因为在《第 2 篇 环境搭建、Linux 基本操作、工具使用》中已经介绍了怎么搭建环境、试验第 1 个 APP、第 1 个驱动程序。在开发板系统被破坏时,可以参考以下章节:《第七章 烧写整个系统或更新部分系统》前面也介绍了在开发板上使用 NFS 跟 Ubuntu 互传文件,如果传文件时想使用更多的方法

2020-09-28 18:22:16 3660

原创 开发板的第 1 个驱动程序

9.1 前提请按前面第七章使用 GIT 下载源码、使用 repo 下载工具链,并配置了交叉编译工具链。为什么编译驱动程序之前要先编译内核?① 驱动程序要用到内核文件:比如驱动程序中这样包含头文件:#include <asm/io.h>,其中的 asm 是一个链接文件,指向 asm-arm或 asm-mips,这需要先配置、编译内核才会生成 asm 这个链接文件。② 编译驱动时用的内核、开发板上运行到内核,要一致:开发板上运行到内核是出厂时烧录的,你编译驱动时用到内核是你自己编译的,这

2020-09-27 18:57:37 1487

原创 使用 Source Insight 阅读 Linux 内核源码

在后面开发驱动程序时,驱动程序中用到的函数都是来自内核,所以可以先在 Windows 下创建内核的Source Insight 工程。如果你不想学习驱动开发,那么可以不创建内核的工程。但是以后学习大型 APP 时,也可以使用 Source Insight 来阅读、编写代码,可以借鉴本节讲解的 Source Insight 用法。7.4.1 Source Insight 简介Source Insight 是 Source Dynamics 公司出品的源代码编辑器。Source Insight 提供语法突

2020-09-23 09:37:40 3451

csdn专题采访记录

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

2016-06-07

新人怎么学嵌入式Linux

新人怎么学嵌入式Linux

2016-06-07

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

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

2016-06-07

请问两个16位的SDRAM组成32位,现只是单个SDRAM的地址线、数据线等长,不是两个SDRAM彼此等长,会有影响吗?内附线长

发表于 2008-05-29 最后回复 2020-05-12

请教或讨论:SD卡在什么情况下会变成只读的?

发表于 2009-05-06 最后回复 2016-11-22

MT8888向TEA1062可以正确发送DTMF信号,TEA1062也成功地把DTMF驱动到电话线上了,但是拨号不成功,也无提示音

发表于 2009-03-11 最后回复 2014-05-29

给大家上传些LINUX的视频,裸板(硬件操作、链接知识)、UBOOT、驱动等等。

发表于 2012-02-07 最后回复 2012-11-23

请问u-boot 1.1.6中,指令”bl __div0 (PLT)”中,(PLT)是什么意思?

发表于 2007-09-08 最后回复 2012-11-23

请教U-Boot nand/nand_legacy中,宏CFG_MAX_NAND_DEVICE、NAND_MAX_FLOORS 、NAND_MAX_CHIPS 的意义

发表于 2007-09-17 最后回复 2012-11-23

请问交互的、不交互的shell有什么区别?

发表于 2007-09-29 最后回复 2012-11-23

请问uClibc是否完备?至少它没有libgcc_s.so.1,它们之间是什么关系?

发表于 2007-10-01 最后回复 2012-11-23

S3C2440 访问IDE硬盘,为何读回的数据都是0?

发表于 2007-10-19 最后回复 2012-11-23

请问不使用framebuffer,如何输出图形

发表于 2007-10-24 最后回复 2012-11-23

/scratchbox和/scratchbox/user/<username>/scratchbox的内容完全一样,但是又不是链接,请问怎么做到的

发表于 2007-11-20 最后回复 2012-11-23

请问如何使用series文件来打补丁

发表于 2007-11-30 最后回复 2012-11-23

请教:想深入理解任务栏的实现,相当于自己写一个任务栏,该看哪些书呢?

发表于 2011-01-08 最后回复 2012-11-23

从CPU执行的第一条指令到搭建一个GUI系统的《嵌入式Linux应用开发完全手册》面市,内附样章

发表于 2008-07-22 最后回复 2012-11-23

请教,有什么办法修改ELF文件的可执行地址吗?

发表于 2008-10-21 最后回复 2012-11-23

S3C2440 WINCE 5.0上SD接口的WIFI驱动移植上去了,可以检测到网卡,但是搜不到网络

发表于 2009-04-13 最后回复 2012-08-27

请问S3C2440的WINCE 5.0中,怎样加入WIFI驱动?厂家给了GM9601的驱动SDIO8686.000、SDIO8686.001,不知怎用

发表于 2009-03-27 最后回复 2012-07-24

请问在allegro中把位号文件打印成PDF文件,怎样才能让里面的文字是可以查找的?

发表于 2008-06-13 最后回复 2012-01-12

请教cellcore.dll怎么加入系统让WINCE5.0自动加载?

发表于 2010-01-04 最后回复 2011-03-25

请问,WINCE注册表[HKEY_LOCAL_MACHINE\Drivers\BuiltIn]下的DLL都会被设备管理器加载吗?

发表于 2009-03-31 最后回复 2011-03-15

来发贴赚分的,分到用时方恨少

发表于 2010-12-28 最后回复 2010-12-28

写了一本Linux的入门书,600页,内容比较全,有培训机构想署名,大家看看该要多少银子?

发表于 2008-03-28 最后回复 2010-11-25

请问:SOD-123封装的二极管有大功率的吗?通过的电流至少1A

发表于 2009-05-05 最后回复 2010-06-18

使用multi bin,在OEMIoControl处卡很久,使得总体启动速度也不快

发表于 2010-06-13 最后回复 2010-06-13

请教:wince 5.0 multi bin s3c2440的xip.bin卡住了,非multi bin的nk.bin可运行

发表于 2010-06-11 最后回复 2010-06-13

请问怎样让eboot能支持浮点运算?我想加入jpg格式的logo,功能完成后发布代码

发表于 2010-06-08 最后回复 2010-06-09

请推荐一些非PCI接口的MPEG编码芯片,我找到一些型号,请评一下

发表于 2009-09-16 最后回复 2010-06-08

WINCE 5.0 on s3c2440: 谁在改动串口设置?我想用串口0作为调试口,在OEMInitDebugSerial对串口0的设置被谁修改了?

发表于 2009-04-09 最后回复 2010-04-16

请问WINCE 5.0下如何添加整个目录?

发表于 2010-04-07 最后回复 2010-04-08

写了一本Linux的入门书,600页,内容比较全,有培训机构想署名,大家看看该要多少银子?

发表于 2008-03-28 最后回复 2010-04-02

请教:S3C2440 WINCE 5.0上调试SDIO接口的WIFI驱动:设置IP地址后网卡消失,复位后识别不出网卡,断电重启则可以重新识别出网卡。

发表于 2009-04-14 最后回复 2010-03-12

有酬项目:S3C2440 WINCE 5.0上SDIO接口marvel 8686 WIFI模块驱动移植,已有WIFI驱动,需要做SDIO的驱动,有BSP,但是SDIO驱动我搞不定

发表于 2009-03-31 最后回复 2010-03-06

看问WINCE里,硬件上没接SD卡的插拔中断引脚,怎样修改代码让系统直接认为卡是存在的?

发表于 2009-03-31 最后回复 2010-02-26

请教:拔号连接、断开连接的代码在哪里?

发表于 2010-02-02 最后回复 2010-02-07

请问WINCE支持I80接口的LCD吗?

发表于 2010-01-01 最后回复 2010-01-04

请教:WINCE5.0上已经可以使用3G上网卡,原来WinMobile基于GPRS的程序如何移植过来?

发表于 2009-12-30 最后回复 2009-12-31

分少题难,不好意思,挣分后再加分:请教:2.4.20内核,重接同一个U盘,第2次时肯定读不出来

发表于 2009-09-24 最后回复 2009-09-24

请教:WINCE里如何预设WIFI IP和WIFI的相关登录设置?

发表于 2009-06-29 最后回复 2009-09-17

请问:有什么比较小巧、便宜、引脚多的座子?

发表于 2009-09-04 最后回复 2009-09-04

请教:LM2576用的电感发出极大的噪声,是电感的问题,还是LM2576的问题(听说这个冒牌的比较多)?

发表于 2009-05-04 最后回复 2009-07-15

空空如也

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

TA关注的人 TA的粉丝

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