关于存储介质:
RAM、ROM和FLASH三大类常见存储器简介.
内存(RAM或ROM)和FLASH存储的真正区别总结.
.
.
.
关于扇区(sector)、块(block)、页(page):
以硬盘为例(可以理解成磁盘),通过调整磁头的位置来读取磁盘上相应位置的数据。
将整个磁盘的盘面按如下所示划分,则有了扇区的概念,图中绿色部分则为一扇区,扇区是磁盘的最小组成单元,通常是512字节。(由于不断提高磁盘的大小,部分厂商设定每个扇区的大小是4096字节)。
而块(block)和页(page)的概念都是虚拟出来的抽象概念。由于扇区(sector)的空间比较小且数目众多,在寻址时比较困难,所以操作系统就将多个的扇区(sector)组合在一起,形成一个更大的单位(即块),再对这个单位进行整体的操作。
也就是说,操作系统忽略对底层物理存储结构的设计,通过虚拟出来磁盘块的概念,在系统中认为块是最小的单位。
总结来说,磁盘读写的最小基本单位是扇区(sector),操作系统中的最小读写单元则是块(block)。扇区是对硬盘而言,是物理层的,块是对文件系统而言,是逻辑层的。
那么什么是页呢?页同样是虚拟出来的度量单位,通常比块大,仅此而已,和块可以作相同近似理解。
.
.
.
关于CRC循环冗余校验:
CRC校验原理及步骤.
循环冗余校验(CRC)算法入门引导.
正点原子关于SPI的官方例程中,CRC多项式给的是7,感觉怪怪的。
.
.
.
关于大小端和LSB/MSB:
大小端其实还算不难理解,就是数据在内存中的存储方式不同而划分的。
大端就是数据的高字节存在内存的低地址,低字节存在内存的高地址
小端就是数据的高字节存在内存的高地址,低字节存在内存的低地址
举个例子,0xabcd,首先,d为低位,a为高位
那么按照大端数据模式,那么0xabcd在内存的存储方式则为:
0xab存在低位,0xcd存在高位
如果按照小端数据模式,则相反,0xab存在高位,0xcd存在低位
从这里我们都可以知道,最右边是最低位,最左边是最高位。(好像默认固定就是这样的)
然后而MSB和LSB则分别为最高有效位和最低有效位,目前暂且理解为最左边的最高位和最右边的最低位了,找不到更好的理解了。