摘要: 内存管理之结构体数据结构这门学问的意义 数据结构就是研究数据如何组织(在内存中排布),如何加工的学间。...4.1.6.2、最简单的数据结构:数组 为什么要有数组?因为程序中有好多个类型相同、意义相关的变量需要管理n这时候如果用单独的变量来做程序看起来比较乱,用数组来管理会更好管理。譬如int ag 阅读全文
posted @ 2019-01-13 23:21 sanshijvshi 阅读(195) 评论(0) 推荐(0) 编辑
摘要: 什么是内存? (硬件和逻辑两个角度)从硬件角度:内存实际上是电脑的一个配件(一般叫内存条)。根据不同的硬件实现原理还可以把内存分成SRAM和DRAM (DRAM又有好多代,譬如最早的SDRAM,后来的DDR1、DDR2 ... .. LPDDR)从逻辑角度:内存是这样一种东西,它可以随机访问(随机访 阅读全文
posted @ 2019-01-12 18:44 sanshijvshi 阅读(1861) 评论(0) 推荐(0) 编辑
摘要: 先从操作系统角度讲:操作系统掌握所有的硬件内存,因为内存很大,所以操作系统把内存分成一个一个的页面(其实就是一个块,一般是4KB) ,然后以页面为单位来管理,页面内用更细小的方式来以字节为单位管理。操作系统内存管理的原理非常麻烦、非常复杂、非常不人性化。那么对我们这些使用操作系统的人来说,其实不需要 阅读全文
posted @ 2019-01-12 18:11 sanshijvshi 阅读(247) 评论(0) 推荐(0) 编辑
摘要: 内存是用来存储可变数据的,数据在程序中表现为全局变量,局部变量等(在GCC中,其实常量也存储在内存中。大部分单片机中,常量是存储在flash中,也就是代码段),对我们写程序非常重要,也对程序运行跟是本质相关。 所以内存对于写程序来说几乎是本质需求。越简单的程序需要越少的内存,而越庞大越复杂的程序需要 阅读全文
posted @ 2019-01-11 22:56 sanshijvshi 阅读(419) 评论(0) 推荐(0) 编辑
摘要: gcc -v 查看gcc编译器版本 gcc -o 指定输出文件名file gcc -E 只预处理,不编译、汇编、链接 gcc -S 只编译,不汇编、链接 gcc -c 编译和汇编,不链接 gcc -m32 hello.c -o hello 用32位机器的编译器来编译这个文件 gcc-linux-ob 阅读全文
posted @ 2018-03-26 15:20 sanshijvshi 阅读(169) 评论(0) 推荐(0) 编辑
摘要: ldr r0,=0x12345678伪指令,这个指令会被拆分成其他真正的指令 mov r0,#0x123456789,这条语句是错的,ARM一条指令32位,里面必须有几位来表示mov指令,所以0x12345678不能保存入r0 阅读全文
posted @ 2018-03-23 18:34 sanshijvshi 阅读(158) 评论(0) 推荐(0) 编辑
摘要: ngg就跳转到第n行行首,G就到结尾 0光标移到当前行行首 $光标移到当前行行末 fx搜索当前行中下一个出现x的地方 yy复制当前行 nyy复制当前行到n-1行 dd删除当前行 ndd删除当前行到n-1行 u撤销上一步的操作 x删除所在光标的字符 :%s/abc/cba/gc用cba替换abc时需确 阅读全文
posted @ 2018-03-23 16:07 sanshijvshi 阅读(122) 评论(0) 推荐(0) 编辑
摘要: http://blog.csdn.net/qq_16405157/article/details/49281793 阅读全文
posted @ 2018-03-19 18:39 sanshijvshi 阅读(1181) 评论(0) 推荐(0) 编辑
摘要: 裸机中断: 1、中断流入口 2、事先注册中断处理程序 3、根据中断源编号,调取处理程序 irq_svc:1、等到产生中断源的编号(每一个中断号都有一个描述结构) 2、 阅读全文
posted @ 2018-03-08 21:40 sanshijvshi 阅读(234) 评论(0) 推荐(0) 编辑
摘要: 首先讲下字符设备控制技术 : 大部分驱动程序除了需要提供读写设备的能力外,还需要具备控制设备的能力。比如: 改变波特率。 在用户空间,使用ioctl系统调用来控制设备,原型如下:int ioctl(int fd,unsigned long cmd,...)fd: 要控制的设备文件描述符cmd: 发送 阅读全文
posted @ 2018-03-07 20:56 sanshijvshi 阅读(3325) 评论(0) 推荐(0) 编辑