简单整理了一些嵌入式底层需要接触的相关概念。
 
# CPU 
CU. Control Unit. send need-clac-data -> ALU clac -> get result send back -> to save in memory
ALU Arithmetic Logic Unit.  Binary clac, such as add/sub/mult(except interger division) 
MMU. Memory Management Unit.  registers like: MAR MDR PC AC CIR
  • MAR. Memory adress register. save will-be-visited-data 's address
  • MDR. Memory data register. saveor will-write-in-RAM data or from-RAM-data
  • PC. Program Counter.  save next-exe-instruction 's address
  • AC. Accumulator. save ALU and CU 's middle-result data
  • CIR. Current Instruction Register. save current executing instruction
 
# Bus types
数据总线DB. Data Bus. 传输数据.  CPU -- RAM 来回传数据  双向
地址总线AB. Address Bus  传输地址.  指定RAM中存储数据的地址
控制总线CB(系统总线). Control Bus 传输命令(控制信号和时序信号).  将CU的信号传至周边设备
扩展总线. Expansion Bus  计算机和外部设备通信的总线,如ISA PCI
 
# Bus tech indicators
Bandwidth: 单位时间内总线上传送的数据量
Bitwidth: 总线能同时传送的二进制数据的位数,like 32位/64位
Working Freq: MHZ为单位
 
# RAM     "random access memory"
SRAM.  cpu cache, don not need to reflesh
DRAM.  keep reflesh save data
SDRAM.  keep reflesh, quick speed, large capacity
DDR SDRAM.  dual channal
 
# ROM   "read-only memory"
1.几K到几十K byte的ROM. 存储刚上电时对cpu和一些核心外设进行初始化的代码
2.NOR FLASH.  1M~4M,存放代码,可以由CPU直接取指并执行
3.NAND FLASH.  存放程序/数据,需要CPU加载到内存中使用
 
# Core peripheral
初始化code存放在ROM中,CLOCK, serial port, MMU, DRAM, FLASH
 
# gcc compile
gcc -E -o hello.i hello.c       pretreatment
gcc -S -o hello.s hello.i       compile
gcc -c -o hello.o hello.s      assembler
gcc -o hello hello.o             link
 
# JTAG  联合测试工作组
1. Boundary test   2. use for burn/debug/probe port
JTAG PIN : TDI(input_data test)  TDO(output_data test)  TMS(mode_choose test)  TCK(clock_input test)   TEST(reset_test) 
Jlink(SEGGER product)  --> JTAG仿真器
 
# UART 通用异步串行口
baud control link , slow speed
long distance(10m) 异步 设备-设备
TXD->RXD  RXD<-TXD  GND-GND
 
# SPI  串行外设接口
short distance(<=1m) 4lines high-speed
同步 芯片-芯片 板上通信
Master-Slave:  SCK->SCK  MOSI->SIMO  MISO<-SOMI  SS->SS
 
# I2C  双向同步串行总线
short distance(<=1m) 2lines  同步 芯片-芯片 板上/板间通信
SCL(Clock) / SDA(Data) -> 2 data buses   + Ground
communication speed : 100KHz / 400khz / 1Mhz / 3.2Mhz   -> slow
Master ----> Slave        every device have  read address and write address
 
# GPIO  通用输入输出/总线扩展器
低功耗 小封装 低成本 布线简单(仅需2条i2C or 3条SPI buses)
提供芯片组额外功能(control monitor)
 
# openOCD  开源片上调试器
对嵌入式设备调试、系统编程与边界扫描
1.加密狗(并行、基于USB)  2.GDB调试(允许ARM7/ARM9/XScale/Cortex-M3)  3.Flash编程(擦写Flash支持外部CF2兼容NORflash)
 
 

Embedded based learning的更多相关文章

  1. 强化学习之 免模型学习(model-free based learning)

    强化学习之 免模型学习(model-free based learning) ------ 蒙特卡罗强化学习 与 时序查分学习 ------ 部分节选自周志华老师的教材<机器学习> 由于现 ...

  2. Pros and Cons of Game Based Learning

    https://www.gamedesigning.org/learn/game-based-learning/ I remember days gone by at elementary schoo ...

  3. Game Based Learning: Why Does it Work?

    Forty years of research[i] says yes, games are effective learning tools. People learn from games, an ...

  4. chip based learning

    chip types Transistor mode of operation Digital chip: 0/1  -> digital clac Analog chip: sound / b ...

  5. Deep Learning in a Nutshell: Core Concepts

    Deep Learning in a Nutshell: Core Concepts This post is the first in a series I’ll be writing for Pa ...

  6. SOME USEFUL MACHINE LEARNING LIBRARIES.

    from: http://www.erogol.com/broad-view-machine-learning-libraries/ http://www.slideshare.net/Vincenz ...

  7. A Complete Tutorial on Tree Based Modeling from Scratch (in R & Python)

    A Complete Tutorial on Tree Based Modeling from Scratch (in R & Python) MACHINE LEARNING PYTHON  ...

  8. A Novel Multi-label Classification Based on PCA and ML-KNN

     ICIC Express Letters                  ICIC International ⓒ2010 ISSN 1881-803X Volume4, Number5, O ...

  9. 海量数据挖掘MMDS week2: Nearest-Neighbor Learning最近邻学习

    http://blog.csdn.net/pipisorry/article/details/48894963 海量数据挖掘Mining Massive Datasets(MMDs) -Jure Le ...

随机推荐

  1. 数据库入门(mySQL):数据操作与查询

    增删改 单表查询 多表查询 一.增删改 1.插入数据记录(增) insert into table_name(field1,field2,field3,...fieldn) valuses(value ...

  2. 关于jQuery的源码学习

    注:该思维学习自另一个博客:https://blog.csdn.net/software0017/article/details/80317348 以下为我自己总结的jQuery结构:

  3. QT 定时器的使用方法

    在界面程序中很容易使用到,定时刷新或者更新什么东西,此时应该使用定时器的功能,定时器是在指定时间触发定时器函数,来达到定时的效果 接下来介绍两种定时器的使用,废话不说直接上代码 代码结构: dialo ...

  4. linux内存管理初学

    虚拟内存模型 Linux 内核本身并不运行在虚拟空间中,其使用的是物理寻址模式. 物理内存被分割为界面,一个内存页面的大小由PAGE_SIZE宏决定. 虚拟地址空间的方式使程序员可以将巨大的结构用于连 ...

  5. win7登录密码破解方法(不用U盘)

    前提:1.不借助U盘等工具.2.已将win7登录账户为test,密码为123456 1.将电脑开机关机几次,进入以下界面 2.然后点击启动修复(推荐),进入以下界面 3.接着就进入到以下界面,然后点击 ...

  6. IPC——管道

    概述 管道通信分为无名管道.有名管道 管道通信的本质 不管是有名管道,还是无名管道,它们的本质其实都是一样的,它们都是内核所开辟的一段缓存空间.进程间通过管道通信时,本质上就是通过共享操作这段缓存来实 ...

  7. Python使用selenium模拟点击,进入下一页(三)

    嗯,昨天呢,我们已经实现了自动输入百度然后搜索Cgrain,然后点击按钮,进入我的页面,在这里呢,有个问题 ActionChains(seleniumGoo).move_by_offset(-480, ...

  8. STM32窗口看门狗WWDG库函数的一点思考

    WWDG当前计数器的值以及激活位和WWDG_CR这个寄存器相关.如下图所示: 而STM32f10x的库函数提供了两种设置WWDG_CR[0:6]位的方式. WWDG_SetCounter方法 #def ...

  9. 大数据之路week04--day05(java XML解析)

    java解析XML的四种方式: XML是一种通用的数据交换格式,它的平台无关性.语言无关性.系统无关性.给数据集成与交互带来了极大的方便.XML在不同的语言环境中解析方式都是一样的,只不过实现的语法不 ...

  10. vue 项目中使用postMessage问题总结

    问题描述: 由于目前做的项目分成两个项目,通过iframe嵌套,所以用到了 postMessage 当监听传过来的值的时候  出现了接受多次的问题 产生原因: 我的监听事件是放在home页 mount ...