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

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

读书笔记文档下载: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部支持连续空间寻址,无法在片内运行程序。

时间: 2024-08-07 00:15:02

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

读《嵌入式系统开发之道:菜鸟成长日志》00

偶然的机会,读到这本书,对于我等刚入门的开发者来说还是很不错的,特别是刚工作,而没有多少项目经验的人来说是很好的参考书. 由于本书也是刚开始看,先看了前面两章节,计划每次只看一章,估计3周可以看完.我的经验是看书不要一下看完,要有记录,要有自己的思考,同时总结是很重要的,以后不定期的取出来复习,在工作中不断的体验,使用. 前两章类似概论,简介,主要是解释嵌入式开发 工作内容和嵌入式项目项目管理基础知识 嵌入式项目工作内容,包含很多内容,保含软硬件设计的问题.主要内容是嵌入式软件设计部分 嵌入式项

Android深度探索(卷1)HAL与驱动开发 第六章 第一个Linux驱动程序:统计单词个数 读书笔记

本章是一个具体的例子,来详细的介绍开发和测试Linux驱动程序的完整过程.尤其是测试Linux驱动.在这个统计单词个数的实例中,重点是该算法的实现技术:即Linux驱动,而不是如何统计的. 6.1Linux驱到底是什么 Linux驱动的工作方式和访问方式是Linux的特点之一.Linux系统将每一个驱动都映射成一个文件,这些文件被称为驱动文件或设备文件,保存在dev目录中.由于大多数Linux驱动都有与其对应的设备文件,因此与Linux驱动交换数据就变成了与设备文件交换数据.事实上,编写Linu

CSS高效开发实战:CSS 3、LESS、SASS、Bootstrap、Foundation --读书笔记(1)设定背景图

技术的新发展,除计算机可以接入互联网之外,平板电脑.智能手机.智能电视等其他设备均可访问互联网.在多设备时代,构建多屏体验也不是听说的那么难. 但是这也增加了学习CSS的难度?不知道如何上手,只懂一点基础的CSS语法,在移动互联时代,难道我们就这样落伍了??好好学习吧,看完<CSS高效开发实战:CSS 3.LESS.SASS.Bootstrap.Foundation>,给自己的未来打气! 5.1  设定背景图的大小 在CSS 3出现之前,背景图片的尺寸是由图片的实际尺寸决定的.如果同样的图片要

CSS高效开发实战:CSS 3、LESS、SASS、Bootstrap、Foundation --读书笔记(5)使用放射渐变制作光影效果

阴影效果通常用来表现光线投射在物体上的感觉,如果想制作一个如图5.19所示的文字光影效果,就可以使用背景的线性渐变进行构建. 图5.19可以看到有类似光束照射文字的效果,很好地突出了文字.这实现起来很简单,只需要对文字居中,对背景元素设置从中心发散的放射渐变即可,代码如下: // HTML代码 <div class="box">赞</div> // CSS代码: .box{ width: 200px; height: 200px; font-size: 80px

CSS高效开发实战:CSS 3、LESS、SASS、Bootstrap、Foundation --读书笔记(2)CSS3利用图层叠加实现多背景

CSS 3允许设置多个背景图片,每个背景图片占一层,层的上下按照在CSS中书写的顺序来定,最先写的背景在最上层,每层图片定义使用英文逗号隔开. 例如下面的代码: background:url(http://dotnet.aspx.cc/Book/Images/CSS1_s.jpg) 0 0 no-repeat, url(http://dotnet.aspx.cc/Book/Images/CSS2_s.jpg) 200px 0 no-repeat, url("http://dotnet.aspx.

CSS高效开发实战:CSS 3、LESS、SASS、Bootstrap、Foundation --读书笔记(4)构造尺寸更灵活的背景

相比传统的图片背景来说,使用CSS构造背景色不仅可以降低网络传输的开销,更由于其尺寸的可控性受到开发者的青睐. 如设计师设计了一张背景图片作为标题背景,如图5.18所示.对于用电脑浏览网页的用户来说,标题基本不存在折行现象,布局也基本是固定宽度的,因此直接使用设计师给出的背景图即可.但是这个页面主要是在手机上显示,标题根据长度不同可能占1行,也可能占3行,如果采用图片就必须根据不同的情况放不同的背景图,实现起来很复杂. 图5.18  设计师给出的背景 好在这张背景图实际是从左到右由深紫蓝色渐变至

CSS高效开发实战:CSS 3、LESS、SASS、Bootstrap、Foundation --读书笔记(3)线性渐变

线性渐变可以设置3个参数值:方向.起始颜色.结束颜色.最简单的模式只需要定义起始颜色和结束颜色,起点.终点和方向默认自元素的顶部到底部.下面举例说明: .test{ background:linear-gradient(red, blue); } 上述代码的效果如图5.9所示. 图5.9  最简单的线性渐变效果 如果要在一些旧版本的浏览器(除IE)下可以正常显示如图5.9的效果,则需要添加兼容代码: .test { background:-webkit-linear-gradient(red,

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

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

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

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