嵌入式开发之道——菜鸟成长日志与项目经理的私房菜(读书笔记)

嵌入式开发之道——菜鸟成长日志与项目经理的私房菜 邱毅凌著

读书笔记文档下载:http://download.csdn.net/detail/luckywang1103/8710299

1、一般函数调用与中断ISR的区别

一般程序都是循序执行的,CPU一定要执行到main()的第20行,才有可能去调用sub_fun()函数,而中断可以发生在任何的时间地点。例如,使用者可以在任何时候按下键盘的某个键,此时不论CPU下个要执行的指令是什么,CPU都会先记录目前的状态,然后参考中断向量表,接着去执行键盘中断的处理程序。等ISR执行完后,CPU会取回中断之前的状态,然后返回被中断的地址继续循序执行。

2、中断分为CPU自行产生的内部中断及由外围设备产生的外部中断。

3、*(volatile unsigned char*)0x300022&=0xfd; C语言用指针取地址里面的东西

asm(“xld.w %r0,0x300022”);

Asm(“bset [%r0],0x1”); 汇编用[]取地址里面的东西

4、linux的基本执行单元是process,而thread是process内的执行单位

RTOS的基本执行单位是task,这些task共享地址空间,和多个thread共享一个process一样。在linux上多个thread最多把一个process搞死,而某个task作乱,整个系统都会被影响。(thread与RTOS上的task思想相同)。

5、FAE(field application engineer)现场应用工程师,FAE非常了解自家的产品,最主要的工作是协助客户解决使用产品上的问题。跟RD比较起来,RD做的事情比较封闭,只是呆在办公室里做研发。

6、CPU内部有一段小程序,供电后会从NAND FLASH的第一个block,读出16KB的程序到CPU的内部存储器中。

CPU将控制权交给内部存储器的程序,这个程序就是BootLoader

BootLoader会初始化SDRAM,再从NAND FLASH将主程序载入到SDRAM

BootLoader将控制权交给SDRAM内的主程序

7、NAND FLASH(以2Gbit的NAND为例)

NAND的基本单位是block,这个设备共有2048个block

每个block里有64个page

每个page的size是(2048+64)Byte,其中2048Byte是Data Area,而64Byte是Redundant Area(用于存储校验信息和其他信息)

对于NAND Flash 来讲,地址和命令只能在I/O[7:0]上传递,数据宽度是8 位

Nand flash 以页为单位读写数据,而以块为单位擦除数据。按照这样的组织方式可以形成所谓的三类地址: –Block Address – Page Address –Column Address

NOR FLASH

Nor Flash采用并行地址总线和数据总线,若有21bit地址总线,16bit数据总线,则该Nor Flash最大可寻址为2M的地址空间。Nor Flash可寻址每一个存储单元。

Nand Flash

数据和地址均通过8bit 的I/O总线串行控制。Nand部支持连续空间寻址,无法在片内运行程序。

时间: 05-16

嵌入式开发之道——菜鸟成长日志与项目经理的私房菜(读书笔记)的相关文章

读书笔记 -《高效程序员的45个习惯-敏捷开发修炼之道》

<高效程序员的45个习惯-敏捷开发修炼之道> 一本2010年出版的书,当时敏捷还只是在国外开始流行,像我这种菜鸟级根本听都没听过.这次通读了这本书,受益良多,回顾自己的职业生涯,多是漫无目的的瞎混,为了生活而生活而已.通过这本书才算对敏捷有了初步的了解,并有意向敏捷进行实践.愿此文可结识更多敏捷的先行者,带领我进入敏捷的世界. 第一章. 敏捷--高效软件开发之道 名言:  不管路走了多远,错了就要重新返回   -- 土耳其谚语 敏捷开发宣言  个体和交互 > 过程和工具 可工作的软件 &

[读书笔记—程序员]《高效程序员的45个习惯:敏捷开发修炼之道》- 苏帕拉马尼亚姆,亨特

虽然不记得阅读本书用了多久,但是整理本书的读书笔记用了两个小时的时间,因为本书的大部分内容对于笔者来说都是新知识,很难进行归纳总结 本书所讲的是程序员应具有的工作态度和在团队中作为开发者和领导者具备的各种"敏捷的"习惯.虽然本书对于程序员的硬实力(本书讲解的编程语言是面向对象类语言,但是讲解的代码非常少)帮助不大,但是对于程序员应该具备的软实力的培养和提高有极大的帮助,是每位程序员都应该反复阅读的书籍. 第一章 敏捷-高效软件开发之道 什么是敏捷开发方法? 2001年2月,17位志愿者

菜鸟成长记1,软件工程大一经历

菜鸟成长记1 -----大一总结及反思 大一即将结束,突然间想总结一下我的大一生活,最重要的还是好好反思一下. 回首整个大一感觉自己学了好多的东西,但最终的感觉还是一无所成,大一上学期学习c语言,一直处于一个总是一个没有入门的感觉,虽然简单的c经长期磨练已经差不多搞懂,不过稍微复杂点的抑或着说稍微麻烦点的都没有真正学会,仅仅是学过c而已,在学c的同时一直想练ACM可能真的是天赋不够也可能是自己不是这块料,在几经折磨下,做了uva上不超过30道题的情况下放弃了,除想练ACM这中间还接触了java和

嵌入式开发板丨ARM开发板 学习必备资料- 迅为电子

摘要: ARM开发板 迅为三星Exynos嵌入式开发平台超强GPS模块 iTOP-Exynos4412开发板采用 Exynos4412的主芯片,具有更高的主频和更丰富外设,配置 2GB 双通道 DDR3的内存及 16GB 存储,具有稳定性强.可靠性高,能适用于对性能和处理能力有更高要求的嵌入式系统应用场合. iTOP-Exynos4412开发板内置有无线 WIFI 模块.Bluetooth.GPS.Camera.3G等模组,支持 HDMI1.4(1080P/60Hz)显示,客户可以直接从开发平台

基于软件开发对嵌入式开发的思考

由于本人专业方向是计算机体系结构方向的,平时做嵌入式方面的实验以及项目较多,这个学期又学习了软件工程的课程,因此想借此机会,总结下在软件工程上面学习到的知识,并看看是否有什么能够借鉴到嵌入式方向的开发上面去. 首先我想总结下,软件开发与嵌入式开发的不同之处.作为软件开发,首先应当从用户或者用户的需求入手,明白用户想让你去实现什么功能,而到了具体的实现,有时却限制的不是那么的死.而至于嵌入式的开发,从需求入手是相同的,但是对于实现的方式,却明显不同于传统的软件开发.对于编程语言,不同的嵌入式开发平

第二章 Android系统与嵌入式开发

第二章 Android系统与嵌入式开发 第二章首先要先了解Android和嵌入式Lnux系统有什么区别和联系,嵌入式Linux系统是在嵌入式设备中运行Linux系统:Android系统是在嵌入式设备中运行Android系统. 其区别就是Android系统和Linux系统的区别.Android系统的底层是Linux的内核,上面跑的是Android的java虚拟机.Android系统的UI做的比Lnux好很多. 首先我们应该先了解一下什么是嵌入式,对于嵌入式来说,它是一种“完全嵌入受控器件内部,为特

与一线Linux嵌入式开发project师的对话

转:与一线Linux嵌入式开发project师的对话 陈project师一直做Linux的嵌入式开发.作为在开发一线的project师.他对非常多问题的看法可能更切合实际需求,于是,通过邮件.就嵌入式开发方面的问题,请他谈了一下自己的看法: 问:关于嵌入式开发.我们准备给同学们解说一些入门知识.从你一线开发经验来说,给我们一些建议: 陈工回答: 对于嵌入式Linux入门,假设有一定基础,可以从驱动開始:假设没有基础.我个人建议还是从应用程序開始.由于从应用程序開始是最easy的,也是 最直观的.

转:Qt 嵌入式开发环境搭建

地址: http://www.cnblogs.com/lishixian/articles/3013897.html         作者:lsx_007 这里主要是记录了自己在搭建嵌入式开发环境时阅读的一些有价值的参考文档,文档主要来自于网络,由于是从文库中下载,所以也不知道 文档的出在哪?因为个人觉得总结的比较好,我暂且拿过来记录下,当然在此基础上也会加上我自己的理解!这篇文章主要是以问答的形式来组织. QT嵌入式开发环境是本文所要介绍的内容,我们先看看Qt的各个版本简介: 1.什么是QT

嵌入式开发技术三级

1.酒店客房的门锁系统是由总台服务器和若干客房指纹锁组成,其基本功能具体描述如下: a.客房的指纹锁与总台服务器之间通过通信网络连接. b.旅客在总台登记住宿时,录入其指纹信息,并提取其特征值存储在总台服务器中.同时录入一个密码(若干位数字组成),以备指纹无法开锁时,用密码开锁. c.旅客在开客房指纹锁时,把相应手指放在门锁的指纹采集部件上,采集相应的指纹图像信息,并传输给总台服务器. d.总台服务器接收到某个客房指纹锁传输来的指纹图像信息后,进行特征值求取并进行匹配,若匹配正确,则回送开锁指令