嵌入式驱动学习心得

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

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操
阅读本文

前端之JavaScript 01

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

sdk

sdk (软件开发工具包) 软件开发工具包括广义上指辅助开发某一类软件的相关文档、范例和工具的集合。 软件开发工具包是一些被软件工程师用于为特定的软件包、软件框架、硬件平台、操作系统等创建应用软件的开发工具的集合,一般而言SDK即开发Windows平台下的应用程序所使用的SDK。它可以简单的为某个程序设计语言提供应用程序接口API的一些文件,但也可能包括能与某种嵌入式系统通讯的复杂的硬件。一般的
阅读本文

java框架复习 简单介绍 (转载)

一、SpringMVCSpring Web MVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架,即使用了MVC架构模式的思想,将web层进行职责解耦,基于请求驱动指的就是使用请求-响应模型,框架的目的就是帮助我们简化开发,Spring Web MVC也是要简化我们日常Web开发的。模型(Model )封装了应用程序的数据和一般他们会组成的POJO。视图(View
阅读本文

再议应用工程师与嵌入式工程师的区别

如网页开发,会用html创建各种表格/视图                       如AI, 各种算法                       他们都是在和ram打交道 而嵌入式工程师,主要和各种外设打交道,如spi,uart,gpio,flash,mmc,gps,3g,usb,485,imu,射频芯片,wifi,蓝牙,adc,dac,
阅读本文

AI编程员系统多次迭代自主编程,首次完爆初级程序员

AI系统自主编程首次完爆初级程序员  论文:AI Programmer: Autonomously Creating Software Programs Using Genetic Algorithms 论文:AI Programmer,使用遗传算法自动创建软件程序 摘要:此论文中,我们史无前例地提出了一种名为AI Programmer的机器学习(ML)系统,能够自动生成完整软件程
阅读本文