嵌入式linux
朱有鹏老师
朱有鹏,先后从事电子工程师、单片机软件工程师、嵌入式linux软件工程师、物联网软件工程师、架构师等工作,朱老师物联网大讲堂创始人,畅销书作者。擅长U-Boot、linux kernel等嵌入式底层和系统层开发、架构设计。擅长汇编、C/C++、Java、C#等常用开发语言,2015年起录制的在线视频课程《朱有鹏老师嵌入式linux核心课程》累计学习人数超300万。2016年与IBM合作制作基于IBM Waston平台的物联网系统开发教程,授予“IBM技术专家”。2018年开始与华为认证合作,开发HCDP-IoT相关的课程体系、视频课程、实验平台、案例等,被授予“华为云享专家”。
展开
-
嵌入式linux杂记
边看书边做笔记,主要是为了查阅方便。1、readelf工具用来从可执行文件得到有用信息。譬如,readelf -h hello 可以从hello得到elf header信息。readelf -s hello可以查看hello的section 头文件2、size命令可以得到可执行文件的各个段大小。size有两种格式,Berkeley格式(size -B hello)和sysv格式(size原创 2012-07-18 23:53:05 · 1349 阅读 · 0 评论 -
gcc常用参数
今晚看了些有关gcc的编译选项的内容,记录下来以备查用。1、gcc -c 只编译不链接,生成.o文件。例如,gcc -c hello.c,将由hello.c得到hello.o2、gcc -o 直接得到可执行文件,并且可以指定可执行档的名称。 例如,gcc -o hello hello.c,将由hello.c得到hello,使用./hello可以执行。3、gcc -I xxx -I选项用原创 2012-07-18 22:40:25 · 806 阅读 · 0 评论 -
container_of 详解
// container_of宏的功能:从结构体类型(type)的一个成员(member)指针(ptr),反推得到该结构体的指针// 其实现由两个分号隔开的语句组成,首先用typeof关键字,得到member成员的类型typeof(member),为了访问// member使用了((type *)0)->member,得到该类型后声明了一个该类型的指针__mptr,这是一个中间变量。/原创 2012-12-02 14:37:03 · 1782 阅读 · 0 评论 -
mount: RPC: Unable to receive; errno = No route to host
环境:gec2440开发板 VMware8.0+Ubuntu10.04 uboot,kernel,rootfs都是之前做好的,调试驱动都反复用过很多次。今天只是搬了台电脑,换了个环境,mount的时候竟然报告 mount: RPC: Unable to receive; errno = No route to host 网上搜索了一下,大多都是重复内容原创 2012-12-21 14:47:47 · 5389 阅读 · 0 评论 -
结构体之offsetof宏详细解析
1、#define offsetof(TYPE, MEMBER) ((size_t) &((TYPE*)0)->MEMBER) (include/linux/stddef.h)1.1 功能:返回结构体TYPE中MEMBER成员相对于结构体首地址的偏移量,以字节为单位。1.2 解析:此类复杂表达式的解析应该采用从内向外、逐层理解的方式。首先,(TYPE *)0表示将数字0原创 2013-01-15 11:36:28 · 3758 阅读 · 2 评论 -
C For Linux之内存访问-内存简介
1、 内存1.1、 计算机为什么需要内存存储器是计算机系统中非常重要的组成部分。计算机中的存储器分为两类:内存储器的外存储器(也叫辅助存储器)。所谓外存储器在PC机中一般指硬盘、U盘、光盘等,而在嵌入式系统中一般使用nandflash、SDCard等基于flash技术的存储器。他的优点是容量大、单位存储成本低、掉电不丢失。缺点是读写速度慢(这个慢是相对于CPU的速度来原创 2013-01-17 14:31:27 · 4627 阅读 · 0 评论