嵌入式Linux学习方法
文章平均质量分 92
嵌入式Linux学习方法
韦东山
深圳百问网科技有限公司技术总监,毕业于中国科学技术大学电子、软件专业双学位,10余年嵌入式一线开发经验, 畅销书<<嵌入式Linux应用开发完全手册>>作者, 擅长ARM/MIPS等架构的Linux底层系统开发, 曾为多家知名培训机构特邀讲师,2011年陆续录制的工程师必看教程------韦东山系列Linux/Android视频,有口皆碑。累计学员10万+,当之无愧成为嵌入式培训领域的佼佼者。
展开
-
嵌入式Linux驱动大全问世,十年磨一剑,视频!服务!新老客户都有大折扣!
对于学习嵌入式Linux,韦东山老师整理了三条学习路线,适合与不同阶段的学员。三条嵌入式学习路线路线一:单片机路线使用KEL、HAL库来快速的掌握单片机开发路线二:深入学习单片机/RTOS/U-Boot该课程同时使用KEIL/GCC,同时掌握cortexM3/cortexM4/cortexA7。让你从单片机无缝切入Linux裸机开发路线三:嵌入式Linux开发一两个月可以入门嵌入式Linux,即使不懂单片机,也可以按照这条学习路线学习。免费入门教程单片机核心/RTOS必备_硬件编程大原创 2021-01-13 17:42:03 · 2313 阅读 · 7 评论 -
RT-Thread Smart 微内核最小系统移植教程
在线课堂:https://www.100ask.net/index(课程观看)论 坛:http://bbs.100ask.net/(学术答疑)开 发 板:https://100ask.taobao.com/ (淘宝) https://weidongshan.tmall.com/(天猫)交流群一:QQ群:869222007(鸿蒙开发/Linux/嵌入式/驱动/资料下载)交流群二:QQ群:536785813(单片机-嵌入式)公 众 号:百问科技版本日期作者说明V原创 2020-12-23 16:25:09 · 3960 阅读 · 7 评论 -
韦东山嵌入式Linux三大学习路线
1. 理清学习资料百问网嵌入式Linux的学习资料分为两部分:第一部分:快速入门第二部分:深入学习1.1 快速入门快速入门分为三条学习路线1.1.1 路线一 学习单片机针对单片机学习,你可以使用KEL、HAL库来快速的掌握单片机的开发。KEL、HAL库已经帮你封装好了一切,就学习而言,你没有办法深入学习更多的知识,对后续学习Linux、rtos帮助不大,但这样的学习方式好处就是能够快速的让你掌握单片机的开发,可以让你快速的开发出单片机的产品。适合人群没有单片机经验或是想快速开发产品原创 2020-12-21 18:43:56 · 15369 阅读 · 15 评论 -
【收藏】韦东山嵌入式Linux课程梳理|随时更新
在线课堂:https://www.100ask.net/index(课程观看)论 坛:http://bbs.100ask.net/(学术答疑)开 发 板:https://100ask.taobao.com/ (淘宝) https://weidongshan.tmall.com/(天猫)交流群一:QQ群:869222007(鸿蒙开发/Linux/嵌入式/驱动/资料下载)交流群二:QQ群:536785813(单片机-嵌入式)公 众 号:百问科技版本日期作者说明V原创 2020-12-18 16:14:26 · 3004 阅读 · 2 评论 -
如何学习嵌入式Linux_韦东山
我在100ASK_IMX6ULL售后群里,发现很多初学者只有单片机基础,甚至没有单片机基础。在学习Linux时,对很多概念比较陌生,导致不知道学什么,也不知道学了之后有什么用。所以我趁着五一假期,编写此文。从事嵌入式Linux培训12年来,我们写过很多《关于如何学习linux》的文章,这是最新的,本文将不断更新。第1章 单片机和Linux的区别1.1 有哪些产品使用单片机或Linux所有的电子产品,所用技术都可以认为要么是单片机,要么是Linux;GUI方面主要是QT/Android,它们都是运行于原创 2020-05-13 16:30:07 · 24590 阅读 · 36 评论 -
【调试笔记】韦东山:在100ASK_IMX6ULL板子上支持其他型号的屏幕
在100ASK_IMX6ULL板子上支持其他型号的屏幕1.在100ASK_IMX6ULL底板上如何接其他厂家的屏幕很多学员有过STM32的学习经验,他们手上的开发板很多,LCD也很多。一个LCD还挺贵的,不能浪费。各家的LCD引脚顺序都不一样,所以别家的LCD不能直接接到100ASK_IMX6ULL开发板,需要转接板。大部分单片机学员都是使用正点原子、野火的板子,有他们的屏。针对这两家...原创 2020-03-06 16:39:11 · 3254 阅读 · 3 评论 -
嵌入式产品开发流程
本文系转载,来源:https://blog.csdn.net/a445849497/article/details/70309508嵌入式产品,与普通电子产品一样,开发过程都需要遵循一些基本的流程,都是一个从需求分析到总体设计,详细设计到最后产品完成的过程。但是,与普通电子产品相比,嵌入式产品的开发流程又有其特殊之处。它包含嵌入式软件和嵌入式硬件两大部分,针对嵌入式硬件和软件的开发...转载 2018-08-28 15:53:50 · 4042 阅读 · 0 评论 -
新手学嵌入式十"不要"
随着嵌入式逐渐走入我们的生活,越来越多的人加入了学习嵌入式的大军。但是,在学习嵌入式之前难免会有新手期阶段。作为嵌入式工程师你应该了解到有哪些东西是你要注意的,下面就给大家带来学习嵌入式过程中的十大“不要”:不要第一句话就说:给个代码吧 ! 你应该想想为什么。当你自己想出来再参考别人的提示,你就知道自己和别人思路的差异。初学者请不要看太多的书,那会误人子弟。先找一本好书系统的学习。很多人学...转载 2018-08-10 14:36:50 · 970 阅读 · 0 评论 -
Ubuntu 16.04如何使用Samba服务器
首发平台:微信公众号baiwenkeji 对于Windows与Ubuntu之间的数据传输,我们习惯于使用FTP工具,不过还是有学员问到samba服务器搭建和使用的问题,这便是本文的来由。Ubuntu版本:ARM裸机1期加强版配套的Ubuntu16.041.简介 samba是一个标准的套件,用于Windows和Linux、unix间的文件传输。官网:https://www.sam原创 2018-01-25 16:06:28 · 2085 阅读 · 0 评论 -
100000个嵌入式学习者遇到的PING不通问题,我们使用这一个视频就解决了,牛!
在10多年的售后答疑历程中,我们每天都会遇到开发板、windows,ubuntu三者之间的PING通问题,常常中断手头中的工作去解决这类问题,甚至跟客户远程协助,颇耗时间与精力,在热心网友、答疑助手们的共同努力下,百问网论坛保存沉淀了大量的关于PING问题的解决文档,但它们都不够全,加上大多人都热衷于看视频而非文档,为此,我们特地录制本节视频,解决让初学者极其头疼的三者PING通问题。原创 2017-11-17 11:37:25 · 805 阅读 · 0 评论 -
工作生活小技巧20条
给人发电话号码,发票信息不要甩截图。使用微信沟通时,尽量使用文字,一来方便对方随时查看,二来方便日后搜索。即使要发语音,尽量使用清晰的普通话,这样对方可以语音识别。工作日志一定要写,若干天后才能知道当初工作的重要细节。做好一天管理。在印象笔记里,每一天一个日志,有「今天有什么流程总结」「今天新接触了什么人」「今天get到了什么小技能」……没有总结,这一天相当于白费了...转载 2019-04-17 14:44:34 · 1351 阅读 · 0 评论 -
从面试笔试中谈谈程序员的核心竞争力
简历是让面试官对你有一个初步印象的介质,每个面试者都应该花点时间研究如何让自己的简历成为一块敲门的金砖。转载 2017-11-07 17:57:47 · 1998 阅读 · 0 评论 -
新人怎样学习嵌入式Linux?
作为一个新人,怎样学习嵌入式Linux推广了解更多嵌入式知识请移步100ask.taobao.com作为一个新人,怎样学习嵌入式Linux?被问过太多次,特写这篇文章来回答一下。在学习嵌入式Linux之前,肯定要有C语言基础。汇编基础有没有无所谓(就那么几条汇编指令,用到了一看就会)。C语言要学到什么程度呢?越熟当然越好,不熟的话也要具备基本技能。比如写一个数组排序、输...原创 2016-07-12 11:19:59 · 10122 阅读 · 14 评论 -
【重磅推荐】嵌入式Linux经典书单(部分含视频)
一直都有人问我要书单,在网上搜索大半天,没找到合适的,他们写的太不负责了,遂决定自己整理。 本书单综合了豆瓣知乎热评,尤其参考了一线开发者韦东山学员群的小伙伴们的意见, 再结合本人多年答疑经验整理而成。非常感谢他们。 本书单内容涉及:linux入门,c语言,数据结构,裸机,Linux应用,Linux驱动,Shell和 Makefile。 本人见识有限,本书单可...原创 2018-09-05 15:50:57 · 23241 阅读 · 3 评论 -
如何学习视频才能效果最大化?
买了视频,资料源码视频这么多,如何学习才能事半功倍,这是很多初学者问过的问题,今天我们就来谈谈一谈,抛砖引玉,也欢迎你分享自己的学习心得。1,买到jz2440板子,先过一遍jz2440v3开发板使用手册,对嵌入式有个大概的整体印象,然后看新1期第6课《开发板熟悉与体验》熟悉开发板刷机操作,再跳回到第1课熟悉linux操作(当然,有linux操作基础的同学略过这步),最后从第8课学习裸机。2...原创 2019-02-18 09:39:25 · 1181 阅读 · 0 评论 -
高效的学习方法
作者:苏公雨今天我们来谈谈学习的方法。最近在群里跟年轻工程师朋友互动很多,深感他们的苦恼 -面对多得让人晕菜的技术 - pcb、fpga、电源、嵌入式、测试测量(等等等等)无从下手,在大学的时候根本没有人教过他们这些,或者说当年糊里糊涂根本没学,开始工作了老板又要让你迅速出活,周围也没有一个可以系统地领着自己入门的大哥,这种茫然可想而知。在这里,苏老师给大家提几点建议,供参考:网上很多...转载 2019-06-21 10:54:30 · 1037 阅读 · 1 评论 -
当主动学习变得难能可贵
作者:EmbedIoT经授权转载自微联智控(id:EmbedIoT),略有修改。科技越来越发达,社会在不断进步。10年前,诺基亚的键盘手机还占据半壁江山,而今天,智能触屏手机以及其软件生态已经完全占据了我们生活的大部分时间。出门可以不带钥匙不带钱包不带交通卡,But,你不带手机试试!!!01优秀的互联网产品带来的疑问微信之父张小龙曾经在《微信的产品观》里面提及到,优秀的互联网产品,必...转载 2019-07-15 16:44:25 · 939 阅读 · 0 评论 -
将JZ2440调试串口改成COM2
众所周知,JZ2440 V2很小巧,精致。今天单就JZ2440的串口来讨论一些问题。我们在用串口进行调试的时候,需要用JZ2440自带的一根USB线连接电脑USB口和开发板的USB-com1口。先来看一下JZ2440的串口大致连接图: 从S3C2440芯片上引出TXD0和RXD0到芯片PL2303,大家都知道PL2303是干嘛用的。在单片机开发板上一般都用这个芯片,它的作用就是USB转TTL电转载 2017-04-01 10:39:31 · 2689 阅读 · 0 评论 -
JZ2440开发板直连电脑实现三者互PING
笔者网络环境: 电脑的USB无线网卡 Ubuntu:资料光盘Ubuntu 9.10 连接方式:JZ2440用网线直接连接电脑 要解决的问题1、window 与 Ubuntu互相PING通2、Jz2440 PING 通Windows下面逐一搞定它们 1、window 与 Ubuntu互相PING通 打开cmd,输入ipconfig找到Windows ip 设置ubuntu网卡e原创 2017-09-14 10:15:12 · 7017 阅读 · 5 评论 -
ARM指令adr adrl ldr mov简单科普
ADR是一条小范围的地址读取伪指令,它将基于PC的相对偏移的地址值读到目标寄存器中。格式:ADR register,exper。编译源程序时,汇编器首先计算当前PC值(当前指令位置)到exper的距离,然后用一条ADD或者SUB指令替换这条伪指令, 例如:ADD register,PC,#offset_to_exper。 注意,标号exper与指令必须在同一代码段。 比如:adr r0, _s原创 2017-08-07 14:27:34 · 2061 阅读 · 0 评论 -
Volatile相关知识
Volatile是区分C程序员和嵌入式系统程序员最基本的问题。 嵌入式系统程序员经常同硬件、中断、RTOS等打交道,所有这些都要求volatile变量。不懂volatile将会带来灾难。volatile的作用volatile的作用: 作为指令关键字,确保本条指令不会因编译器的优化而省略,要求每次直接读值.非常典型的就是寄存器的值可能被人为的从硬件上改变,所以必须要求每次直接读值转载 2017-07-28 17:26:06 · 574 阅读 · 0 评论 -
制作Linux嵌入式系统开机LOGO(图片)
内核:linux-2.6.22.6 ubuntu:Ubuntu 9.10 开发板: JZ2440(方法通用,不局限于JZ2440)目的: JZ2440开机logo默认是一只可爱的小企鹅。我们把它替换成我们自己喜爱的图片准备工作: 准备好BMP或者PNG 图片,若是别的格式的图片,可以使用 Windows自带的画图软件打开,然后另存为BMP或者PNG格式 Logo图片分辨率不小于...原创 2017-06-12 11:19:40 · 5607 阅读 · 3 评论 -
移植SDL到JZ2440显示BMP图片
写这类教程的目的是,熟悉Linux基本操作和嵌入式开发流程,希望对你有所帮助. 前面我们讲过系统起来后开机LOGO的制作,韦老师第3期讲了如何显示jpeg图片,那么怎么显示bmp图片?这次我们借助libSDL来实现,我们先移植SDL到Ubuntu,体验它的威力后再移植到开发板。 一、移植SDL到UbuntuUbuntu: Ubuntu9.10gcc ve原创 2017-06-29 11:07:09 · 1736 阅读 · 0 评论 -
JZ2440下载程序到开发板的3种方法
1. 使用mount命令进行挂载①开发板必须要和虚拟机、电脑在同一个网段内(相互可以ping通)②将要下载到开发板的程序放到指定目录,这个目录需要在/etc/exports中指定,否则无法被挂载②然后在开发板上执行以下命令,要下载的程序就在开发板的/mnt目录里了mount -t nfs -o nolock,vers=2 192.168.1.100:/design/tools原创 2017-06-01 10:57:07 · 3708 阅读 · 0 评论 -
2017.5.19论坛问题精选以及解决方法
有眼福啦!昨天韦东山老师花了半天时间在交流社区答疑,这不小编马上送来热腾腾的9个问题以及解决方法,答案全部出自韦老师一人之手,全是精华。可能只有区区20字,但里面包含了珍贵的经验和情怀。对了,之前发的问题对你有启发吗,或者正好解决了你问题?麻烦给我们反馈一下,还有,只有论坛版主以上级别才能更改问题状态,我们回答问题,问你是否解决,等回复,假设解决了,我们更改问题状态,这样一来一去,沟通成本太大,希原创 2017-05-19 14:37:02 · 980 阅读 · 0 评论 -
arm-linux-gcc 4.3.2编译uboot 1.1.6
在第三期项目的视频中,官方提供了一整套新的工具链,bootloader, 内核和文件系统(arm-linux-gcc_4.3.2, uboot-2012.04.01, linux-3.4.2)其中uboot-2012.04.01来源于毕业班,其下载烧写功能远不如uboot-1.1.6,因此我更偏向于使用老版的Uboot。但是第三期的工具链却无法直接编译uboot-1.1.6, 现在将解决这一问题。方转载 2017-03-30 17:46:56 · 1472 阅读 · 0 评论 -
jz2440重新分区
在购买开发板的时候,板子上已经烧写好了bootloader、内核和文件系统。但是在具体使用时,发现板子上划分的内核分区只有2M,但是我编译出来的内核大于2M,于是将内核烧写到nandflash上面时会启动不成功。怎么办呢?查找资料后,找到了解决办法。 有2种方法,二选一: 1,修改文件uboot-1.1.6/include/configs/100ask2440.h 如果是非jz2440开发板,原创 2017-03-30 11:43:43 · 947 阅读 · 1 评论 -
NFS挂载的2种方式
在第一期视频 : 第0课第7节_刚接触开发板之制作根文件系统及初试驱动.wmv ,因为要测试驱动,所以必须要把驱动程序弄到开发板里才行。 于是韦老师介绍了两种方式:1 仅用flash上的根文件系统启动后,手工MOUNT NFS使用NFS作为根文件系统来启动视频中只介绍了开发板这端uboot参数的设置,并未介绍Ubuntu端 NFS服务器的设置,这就导致很多学员学习时遇到难以逾越的问题:NFS挂载原创 2017-03-29 17:19:49 · 75802 阅读 · 3 评论 -
【教程】从零制作文件系统到jz2440,使其支持telnet , ftp 和tftp
开发板: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, 只好原创 2017-06-09 11:44:34 · 2657 阅读 · 4 评论 -
【教程】移植web server到Ubuntu就是这么简单!
Ubuntu:Ubuntu9.10 目的:移植web server到Ubuntu window下载thttpd,地址:http://www.acme.com/software/thttpd/1.上传thttpd到ubuntu,解压,配置,安装$ tar zxf thttpd-2.27.tar.gz$ cd thttpd-2.27/$ ./configure原创 2017-06-13 16:36:05 · 1624 阅读 · 1 评论 -
ARM指令ldr和adr的区别
很多人在写简单的裸机代码或分析uboot时,常常遇到adr ldr指令。却分不清这2者的区别,今天就来谈谈adr与ldr指令。先写启动代码test_adr.S:.text.globl _start_start: ldr r0, test adr r0, test ldr r0, =test noptest: nopMakefile:all:test_ad原创 2017-08-03 11:03:14 · 6577 阅读 · 2 评论 -
Uboot到底如何启动内核
1.uboot启动内核的代码缩减如下:Uboot 1.16/lib_arm/board.c中start_armboot()函数调用/common/main.c中main_loop()函数,在main_loop()中有uboot启动内核的代码:s = getenv ("bootcmd");debug ("### main_loop: bootcmd=\"%s\"\n", s ? s :"原创 2017-07-25 12:01:17 · 5170 阅读 · 0 评论 -
浅谈内核的Makefile、Kconfig和.config文件
Kconfig是菜单,Makefile是做法,.config就是你点的菜。原创 2017-08-09 12:24:17 · 12949 阅读 · 3 评论 -
dnw驱动更新,支持全系统(xp,win7,win8/win10)
前言: 本文用于解决win7以上系统使用dnw难装驱动问题,使用新驱动: zadig-2.3.exe,支持xp,win7/win8/win10系统,安装方便、高效,欢迎试用。对于裸板开发,我们一般使用JTAG工具,比如OpenJTAG、EasyOpenJTAG烧写裸机程序。JTAG工具速度慢,但是一般的裸机程序都比较小,所以这种方法很方便。开始玩Linux时,一个内核就有2M以上,用JTAG工具烧原创 2017-08-08 15:01:49 · 10767 阅读 · 2 评论 -
挂载文件系统出现"kernel panic..." 史上最全解决方案
问:挂载自己制作的文件系统卡在这里:NET: Registered protocol family 1NET: Registered protocol family 17VFS: Mounted root (cramfs filesystem) readonly.Freeing init memory: 116KFailed to execute /linuxrc. Attempting原创 2017-08-01 16:39:54 · 8451 阅读 · 2 评论 -
汇编程序调用c函数为什么需要设置栈?
保存现场/上下文,传递参数,保存临时变量。原创 2017-07-31 11:15:36 · 1957 阅读 · 0 评论 -
【小技巧】通过SD卡传文件到开发板就是这么简单!
主机开发环境: Ubuntu9.10内核: Linux2.6.22.6文件系统: fs_qtopia.yaffs2开发板:JZ2440 目的:通过SD卡传文件到开发板其实很简单,就一条挂载命令,为了适应0基础刚入手开发板的同学,写的特别详细。 步骤:1. JZ2440接上电源,按红色开关启动系统2. 电脑用数据线连接JZ2440 USB转串口“U原创 2017-06-15 10:22:23 · 2675 阅读 · 0 评论 -
7.13论坛常见问题以及解决办法
1. mini2440 nand启动的情况下,能不能访问nor flash答: NAND启动,不能访问NOR 2. OpenJtag能不能在USB1.1下使用?答:可以用,USB 2.0分两种,全速12M,高速480M;所谓全速12M也就是USB 1.1的速率。 3. 程序如下: rUBRDIV1=((int)(pclk/16./baud+0原创 2017-07-13 21:29:26 · 2747 阅读 · 0 评论 -
s3c2440启动过程分析
2440启动过程分析作者:王辉 2440启动过程算是一个难点,不太容易理解,而对于2440启动过程的理解,影响了后面裸机代码执行流程的分析,从而看出2440启动过程的重要性。 1 2440启动方式和启动方式选择在S3C2440的datasheet《S3C2440A_UserManual_Rev13.pdf》中搜索map,可以在第5章中搜索到下图。 从此原创 2017-04-06 18:01:30 · 8014 阅读 · 0 评论