2024年2月27日
摘要: 1、发生硬件中断后,ARM处理器做了哪些事情? 答:当CPU感知到中断发生后,硬件会自动做如下一些事情: 1)保存中断发生时CPSR寄存器的内容到SPSR_irq寄存器中; 2)修改CPSR寄存器,让CPU进入处理器模式(processor mode)中的IRQ模式,即CPSR寄存器中的M域设置为I 阅读全文
posted @ 2024-02-27 09:47 penglcool 阅读(6) 评论(0) 推荐(0) 编辑
  2023年4月3日
摘要: link链接脚本中_end设置的意义,如果需要支持malloc和free,需要在链接脚本中设置_end的符合,这个表示是堆起始的地址,从后面开始都是作为heap进行申请的。 阅读全文
posted @ 2023-04-03 17:12 penglcool 阅读(89) 评论(0) 推荐(0) 编辑
  2021年12月3日
摘要: bad_mode异常怎么出现的,cpsr模式恢复如果出现问题就可能会出现,如下的图显示是正常的调用关系,如果这时候把flags的值设置为0xa00001b6会出现什么情况呢? ​ 把flags的值设置为0xA00001B6后的异常打印和调用栈: 问题发生在rcu_idle_exit函数中,需要走查代 阅读全文
posted @ 2021-12-03 09:42 penglcool 阅读(0) 评论(0) 推荐(0) 编辑
  2021年9月16日
摘要: 为了使单独编译的c语言和汇编程序之间能够相互调用,必须为子程序之间的调用规定一定的规则。ATPCS就是ARM程序和Thumb程序中子程序的基本规则。 基本ATPCS规定了在子程序调用时的一些基本规则,包括下面3个方便的内容: 1、各寄存器的使用规则及其相应的名称 子程序间通过寄存器R0一R3来传递参 阅读全文
posted @ 2021-09-16 17:13 penglcool 阅读(304) 评论(0) 推荐(0) 编辑
摘要: PMSA介绍: PMSA基于内存保护单元(MPU),PMSA与基于VMSA的MMU相比提供了更简单的内存保护方案,简化适用于硬件和软件。PMSAv7处理器依赖MPU类型寄存器来识别,请参见MPUIR,MPU Type Register。 PMSA主要简化的地方就是MPU不使用转换表。相反,系统控制协 阅读全文
posted @ 2021-09-16 16:43 penglcool 阅读(446) 评论(0) 推荐(0) 编辑
  2021年9月14日
摘要: 1、EXPORT_SYMBOL的作用是什么? EXPORT_SYMBOL标签内定义的函数或者符号对全部内核代码公开,不用修改内核代码就可以在您的内核模块中直接调用,即使用EXPORT_SYMBOL可以将一个函数以符号的方式导出给其他模块使用。 这里要和System.map做一下对比: System. 阅读全文
posted @ 2021-09-14 14:58 penglcool 阅读(334) 评论(0) 推荐(0) 编辑
  2020年7月13日
摘要: 1、复合页的定义: 复合页(Compound Page)就是将物理上连续的两个或多个页看成一个独立的大页,它可以用来创建hugetlbfs中使用的大页(hugepage), 也可以用来创建透明大页(transparent huge page)子系统。但是它不能用在页缓存(page cache)中,这 阅读全文
posted @ 2020-07-13 15:44 penglcool 阅读(1979) 评论(0) 推荐(0) 编辑
  2018年6月7日
只有注册用户登录后才能阅读该文。 阅读全文
posted @ 2018-06-07 11:54 penglcool 阅读(7) 评论(0) 推荐(0) 编辑
  2018年3月9日
只有注册用户登录后才能阅读该文。 阅读全文
posted @ 2018-03-09 17:09 penglcool 阅读(5) 评论(0) 推荐(0) 编辑