2024年12月5日
摘要:
__schedule()是主调度器的核心函数,其作用是让调度器选择和切换到一个合适进程运行。调度的时机可分为如下3种: a、阻塞操作:互斥量(mutex)、信号量(semaphore)、等待队列(waitqueue)等 b、在中断返回前和系统调用返回用户空间时,去检查TIF_NEED_RESCHED
阅读全文
posted @ 2024-12-05 10:56
penglcool
阅读(367)
推荐(0)
2024年9月10日
摘要:
1、在openwrt的根目录中可以执行如下命令:make menuconfig打开CONFIG_DEBUG选项就会生成待调试信息的内核版本 2、在openwrt的根目录中可以执行如下命令:make kernel_menuconfig打开CONFIG_DEBUG_INFO也会生成待调试信息的内核版本
阅读全文
posted @ 2024-09-10 17:38
penglcool
阅读(388)
推荐(0)
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
阅读(27)
推荐(0)
2023年9月18日
摘要:
万恶之源:C语言中的隐式函数声明_隐式声明_smstong的博客-CSDN博客 示例:riscv32的平台,在32位架构上定义一个函数,函数的返回值为uint64_t,在调用该函数的时候返回值的高32位异常,其原因就是因为没有对该函数进行声明,编译的时候使用了隐式声明,默认返回int类型导致的。需要
阅读全文
posted @ 2023-09-18 09:26
penglcool
阅读(63)
推荐(0)
2023年4月3日
摘要:
link链接脚本中_end设置的意义,如果需要支持malloc和free,需要在链接脚本中设置_end的符合,这个表示是堆起始的地址,从后面开始都是作为heap进行申请的。
阅读全文
posted @ 2023-04-03 17:12
penglcool
阅读(256)
推荐(0)
2021年12月3日
摘要:
bad_mode异常怎么出现的,cpsr模式恢复如果出现问题就可能会出现,如下的图显示是正常的调用关系,如果这时候把flags的值设置为0xa00001b6会出现什么情况呢? 把flags的值设置为0xA00001B6后的异常打印和调用栈: 问题发生在rcu_idle_exit函数中,需要走查代
阅读全文
posted @ 2021-12-03 09:42
penglcool
阅读(20)
推荐(0)
2021年9月16日
摘要:
为了使单独编译的c语言和汇编程序之间能够相互调用,必须为子程序之间的调用规定一定的规则。ATPCS就是ARM程序和Thumb程序中子程序的基本规则。 基本ATPCS规定了在子程序调用时的一些基本规则,包括下面3个方便的内容: 1、各寄存器的使用规则及其相应的名称 子程序间通过寄存器R0一R3来传递参
阅读全文
posted @ 2021-09-16 17:13
penglcool
阅读(454)
推荐(0)
摘要:
PMSA介绍: PMSA基于内存保护单元(MPU),PMSA与基于VMSA的MMU相比提供了更简单的内存保护方案,简化适用于硬件和软件。PMSAv7处理器依赖MPU类型寄存器来识别,请参见MPUIR,MPU Type Register。 PMSA主要简化的地方就是MPU不使用转换表。相反,系统控制协
阅读全文
posted @ 2021-09-16 16:43
penglcool
阅读(623)
推荐(0)
2021年9月14日
摘要:
1、EXPORT_SYMBOL的作用是什么? EXPORT_SYMBOL标签内定义的函数或者符号对全部内核代码公开,不用修改内核代码就可以在您的内核模块中直接调用,即使用EXPORT_SYMBOL可以将一个函数以符号的方式导出给其他模块使用。 这里要和System.map做一下对比: System.
阅读全文
posted @ 2021-09-14 14:58
penglcool
阅读(427)
推荐(0)
2020年7月13日
摘要:
1、复合页的定义: 复合页(Compound Page)就是将物理上连续的两个或多个页看成一个独立的大页,它可以用来创建hugetlbfs中使用的大页(hugepage), 也可以用来创建透明大页(transparent huge page)子系统。但是它不能用在页缓存(page cache)中,这
阅读全文
posted @ 2020-07-13 15:44
penglcool
阅读(2668)
推荐(0)