嵌入式驱动程序设计

发现intel curie平台的bsp部分驱动架构类似linux,今天花了一下午把curie bsp的驱动核心抽离出来了,并且做了几个小sample。最小驱动框架核心代码1、设备管理device.c#include <stdio.h> #include <stddef.h> #include <stdlib.h> #include <stdint.h> #include <errno.h>
阅读本文

嵌入式以太网学习之旅-第一篇:嵌入式网络在整个物联网中的重要性

今天是2018年5月25日深夜,深圳的夏天无比炎热,在这段艰难的岁月中,当我再一次翻开“五木”老师《嵌入式网络那些事》这本呕心沥血之作时,心中无比的感慨,感谢让我重新回到最初的愿望,从物联开始,从网络开始,从lwip开始,一步步踏入物联网,今年我选择了攻克Lwip,向物联网的世界挥挥手,我即将走近你,作为一名从事IT工作的人来说,不懂lwip的前世今生,何谈物联统治天下,迷茫很久的我最终想明白了,
阅读本文

嵌入式ARM的学习方法上

嵌入式分为广义和狭义两种。广义的嵌入式就是片上系统(system on a chip),包括单片机、PSOC、NIOS、Microblaze等。而狭义的嵌入式就是ARM9、cortex A8等特定的跑操作系统的芯片。这里主要介绍狭义嵌入式的学习路线嵌入式ARM的学习方法。  嵌入式ARM的学习方法上还是主流的方法,先学会使用它,再深入研究底层。常用的操作系统有Linux、WIN CE、安卓、Vxw
阅读本文

2-软件环境构建(待补充)

1、参考韦东山的嵌入式开发的书,所以使用的相关工具什么的也是韦东山那个光盘映像提供的,因为Virtualbox这个共享文件夹没有搞定,所以暂且将它挂在在本地,将需要的直接复制到本地了。执行完上部操作之后再命令行输入如下命令:1 mount /dev/cdrom /mnt/sharedocument此时进入/mnt/sharedocument 文件夹就能看到相关需要的文件了,以后需要的时候直接cp到
阅读本文

分享几种常用的嵌入式Linux GUI及其特点—干货

随着Internet与网络的迅速发展并逐步走进人们的家庭,使消费电子、计算机、通信(3C)一体化趋势日趋明显,嵌入式系统也成为研究与应用的热点。嵌入式实时Linux操作系统以价格低廉、功能强大又易于移植而正在被广泛采用,成为新兴的力量,当然,有眼光的人早已经看出其中的发展和前景。如今随着WAP手机、PDA、机顶盒、及DVD/VCD播放机已经迅速普及,用户对这些手持式设备的GUI提出了更高的要求,希
阅读本文

嵌入式驱动学习心得

经过了这半年多,甚至是更久的嵌入式自学,可谓是不断在绝望中求生。性格使然,我是一个我也不知这种性格的学名叫什么,就是学习一种东西,非得想要能理解每一处的含义作用为什么要这样做没有其他办法了吗等等问题。并且当一个问题找不到让我能接受的解释时,那么我的学习路程也就几乎要停在这里了,大概是因为我讨厌一知半解(可能是小时候被老师教导不要做书呆子的教育有关,小时候,听话孩子,认真,长辈的教育对孩子的影响真的
阅读本文

Linux中断

前言:一.问:CPU为什么有中断机制? (本质:外设的处理速度要远远慢于CPU的处理速度) 明确:计算机系统除了CPU,还有各种外设; 明确:外设的处理速度要远远慢于CPU的处理速度; 以CPU读取串口为例,假如没有中断机制,CPU为了避免串口数据的丢失,只能采用轮询方式(CPU原地空转), 等待串口数据的到来;采用这种方式,CPU只能做一件事情,大大降低了CPU的利用率; 如果采用中断
阅读本文

linux内核字符设备驱动之设备文件自动创建

1.  linux内核字符设备驱动之设备文件的自动创建 设备文件创建: 手动创建: mknod /dev/设备文件名 c/b 主设备号 次设备号 自动创建: 作用:每当加载完设备驱动以后,设备文件也会创建成功! 每当卸载驱动以后,设备文件也会自动删除; 设备文件自动创建的编程步骤: 1.根文件系统要支持mdev可执行程序 mdev的作用就是将来创建设备文件; mdev是ude
阅读本文

嵌入式学习-驱动开发-lesson6.1-TTY驱动架构分析

一、TTY驱动架构 1).TTY概念解析 在Linux系统中,终端是一类字符型设备,它包括多种类型,通常使用tty来简称各种类型的终端设备。 • 串口终端(/dev/ttyS*) 串口终端是使用计算机串口连接的终端设备。Linux把每个串行端口都看作是一个字符设备。这些串行端口所对应的设备名称是 /dev/ttySAC0;/dev/ttySAC1…… • 控制台终端(/dev/console)
阅读本文

中国大陆开源镜像站汇总

http://www.linuxidc.com/Linux/2007-09/7399.htm 中国大陆开源镜像站汇总1.企业贡献: 搜狐开源镜像站:http://mirrors.sohu.com/网易开源镜像站:http://mirrors.163.com/ 2.大学教学: 北京理工大学:http://mirror.bit.edu.cn (IPv4 only)http://mirror.bit6.
阅读本文

如来神掌第一式第九招----Apache详解

一、一次完整的http请求过程二、Apache 特性httpd 特性 高度模块化: core + modules DSO:dynamic shared object MPM:Multipath processing Modules (多路处理模块) prefork:多进程模型,每个进程响应一个请求;
阅读本文

一个IC软件工程师的2017年终工作总结

相比2016年的波澜起伏,2017多了一份平静和清淡。不过,平静的生活下,总有一颗飞向远方的心。在这一年将近结束的时候,总结一下自己的工作,生活和学习。也顺便展望一下未来的2018,看看有哪些美好的生活在前面等着我。  在通过2016的来创业公司的新业务磨合期,2017年中,这边对创业公司的业务逐渐熟悉。从一个音频算法和协议方面的门外汉,变成了一个对音频协议和算法有个比较深入理解的软件工程师。
阅读本文

开源ETL工具之Kettle介绍

What起源 2005年12月,Kettle从2.1版本开始进入了开源领域,一直到4.1版本遵守LGPL协议,从4.2版本开始遵守Apache Licence 2.0协议。 Kettle在2006年初加入了开源的BI公司Pentaho, 正式命名为:Pentaho Data Integeration,简称“PDI”。 自2017年9月20日起,Pentaho已经被合并于日立集团下的新公司: Hit
阅读本文

linux驱动由浅入深系列:PBL-SBL1-(bootloader)LK-Android启动过程详解之一(高通MSM8953启动实例)

http://www.aiuxian.com/article/p-1414261.html          http://www.xuebuyuan.com/2209890.html  对于嵌入式工程师了解芯片启动过程是十分有必要的,在分析、调试各种问题的时候都有可能涉及到这方面的知识。同时这部分知识也是比较复杂的,因为其中涉及到芯片内部架构,启动各个阶段软件代码执行顺序,启
阅读本文

前段基础JavaScript

JavaScript概述JavaScript的历史1992年Nombas开发出C-minus-minus(C--)的嵌入式脚本语言(最初绑定在CEnvi软件中).后将其改名ScriptEase.(客户端执行的语言)Netscape(网景)接收Nombas的理念,(Brendan Eich)在其Netscape Navigator 2.0产品中开发出一套livescript的脚本语言.Sun和Net
阅读本文

ALSA声卡笔记3--ASoC驱动重要结构体关系图

1、ASoC中重要的数据结构之间的关联方式 (1)Kernel-2.6.35-ASoC中各个结构的静态关系        ASoC把声卡实现为一个Platform Device,然后利用Platform_device结构中的dev字段:dev.drvdata,它实际上指向一个snd_soc_device结构。        可以认为snd_soc_device是整个ASoC数据结构的根本
阅读本文

嵌入式C语言实战开发详解(一)

嵌入式C语言实战开发详解(一) 一、概述 1、嵌入式开发中为什么选择C语言? 因为操作系统的内核都是使用的C语言,而且C语言也有如下几个优点: (1)出色的移植性,能在多种不同体系结构的软/硬平台上运行(修改量越小,移植性越好); (2)简洁紧凑,使用灵活的语法机制,并能直接访问硬件(效率高); (3)很高的运行效率 拓展: 什么时候使用汇编什么时候使用C语言呢?(C VS 汇编) 汇编是低级
阅读本文

JA基础12月26日-待整理

JS视频-14转换为Boolean使用Boolean()函数:1、  数字有关:除了0和NaN,其余都是true2、  字符串:除了空串,其余都为true3、  Null和undefined都转换为false4、  对象object转换为true JS视频-15算术运算符包括+—*/ %(取模,表示取余数)1、  除了+法运算符,与字符串相加,都是转换为number,加法运算符转换为字符串,称为拼
阅读本文

ALSA声卡07_分析调用过程_学习笔记

1、编译新的strace工具分析aplay和amixer应用程序对声卡的调用过程 (1)因为旧的strace工具不能识别不能识别alsa声卡驱动程序里面的ioctrl. (3)出现错误 需要建立相关的设备节点 播放声音和调整音量 (4)等待音频播放完,能得到一个完整的log,把log文件拷贝回windows下进行分析 2、调用分析(aplay.log)(搜索设备节点“/dev/s
阅读本文

嵌入式Linux系统的构成和启动过程

一、嵌入式Linux系统构成 上图是一个嵌入式Linux系统的典型结构,划分成了4个区:1、Bootloader区存放的是Bootloader,它负责嵌入式系统最初的硬件初始化、驱动和内核加载。2、参数区不是必须的,通常存放了一些系统参数,并且通常这个区是没有文件系统,参数以原始数据的格式来存放。3、内核镜像区存放的Linux内核压缩镜像,它被解压后运行于内存,作为嵌入式设备的Linux操
阅读本文