程序段.text, data (initialized), bss, stack, heap
程序分为下面的段:.text, data (initialized), bss, stack, heap。data/bss/text: text段在内存中被映射为只读,但.data和.bss是可写的。bss是英文Block Started by Symbol的简称,通常是指用来存放程序中未初始化的全局变量的一块内存区域,在程序载入时由内核清0。BSS段属于静态内存分配。它的初始值也是由用户自己定义的连接定位文件所确定,用户应该将它定义在可读写的RAM区内,源程序中使用malloc分配的内存就是这一块,它不是根据data大小确定,主要由程序中同时分配内存最大值所确定,不过如果超出了范围,也就是分配失败,可以等
gcc-avr中中断的写法
http://www.ouravr.com/bbs/bbs_content.jsp?bbs_sn=552309&bbs_page_no=169&bbs_id=1000Interrupts 和 Signals 详细描述 很难找到在如何处理中断方面达成一致的编译器,直到C语言试着隔离硬件相关的细节,编译器的作者才不得不设计他们自己处理中断的方法。 在AVR_GCC环境中,向量表已经使用预先定义好的名字来标志中断(interrupt)路由(routines),你即使不定义也可以使用他们。 但是定义(patching)向量表只是解决这个问题的一部分。一般来说,编译器在正常执行编译器生成(compiler-generated)的代码时使用一组寄存器。这