上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 164 下一页

2022年3月17日

摘要: $ git status On branch master Your branch is ahead of 'origin/master' by 1 commit. (use "git push" to publish your local commits) error: failed to pus 阅读全文
posted @ 2022-03-17 22:09 tycoon3 阅读(740) 评论(0) 推荐(0)

2022年3月16日

摘要: root@ubuntu:~/arm/raspberry-pi-os/exercises/lesson05/3/bl4ckout31# make mkdir -p build aarch64-none-elf-gcc -Wall -nostdlib -nostartfiles -ffreestandi 阅读全文
posted @ 2022-03-16 23:13 tycoon3 阅读(4200) 评论(0) 推荐(0)
摘要: 重点结构体学习 struct task_struct { struct thread_info thread_info; void* stack; /* CPU-specific state of this task: */ struct thread_struct thread; } 上次在学th 阅读全文
posted @ 2022-03-16 16:44 tycoon3 阅读(307) 评论(0) 推荐(0)

2022年3月15日

摘要: There are two methods of receiving packets from the datalink layer under Linux. The original method, which is more widely available but less flexible, 阅读全文
posted @ 2022-03-15 09:56 tycoon3 阅读(551) 评论(0) 推荐(1)

2022年3月11日

摘要: 汇编宏kernel_ventry 该汇编宏主要是用于异常响应向量表中,每个向量的宽度为0x80字节,即0x20条指令(每条指令4字节);而且每个向量入口点地址必须按照0x80对齐,即地址低7位为零。由于0x20条指令不可能完成异常处理过程,因此在这0x20条指令之内一定要跳转到到其他函数执行。 一般 阅读全文
posted @ 2022-03-11 20:16 tycoon3 阅读(2021) 评论(0) 推荐(0)
摘要: 1、理解整个中断/系统调用流程的关键是kernel_entry和kernel_exit,也就是如何保存现场,并且恢复现场的。 我们先来看下armv8的寄存器,PLR(X30)无论是用户态还是内核态都用这个寄存器来存储程序的返回值。 sp_el0,sp_el1分别是有用户态和内核态的堆栈。 ELR_E 阅读全文
posted @ 2022-03-11 15:26 tycoon3 阅读(3259) 评论(0) 推荐(1)
摘要: 当应用读取或写入未提交到物理内存的内存时,会发生页错误。 不可能(或很难)预测页面错误何时会发生,因此它们是计算机中不确定性的另一个来源。 幸运的是,有一个函数允许您提交进程使用的所有内存并将其锁定,这样它就不会导致页面错误。 它是mlockall(2)。 这是它的两面旗帜: MCL_CURRENT 阅读全文
posted @ 2022-03-11 10:23 tycoon3 阅读(144) 评论(0) 推荐(0)
摘要: 如果你有精确的计时要求,那么计时器分辨率很重要,这是实时应用的典型要求。 Linux 中的默认计时器是以可配置的频率运行的时钟,对于嵌入式系统,通常为 100 Hz,对于服务器和台式机,通常为 250 Hz。 两个计时器滴答之间的间隔是,称为jiffy,在前面给出的例子中,在嵌入式 SoC 上是 1 阅读全文
posted @ 2022-03-11 10:21 tycoon3 阅读(550) 评论(0) 推荐(0)

2022年3月10日

摘要: root@ubuntu:~/arm/raspberry-pi3-mini-os/1.hello_world# grep Map -rn * Makefile:22: $(ARMGNU)-ld -T linker.ld -o objects/kernel8.elf $(OBJ_FILES) -Map 阅读全文
posted @ 2022-03-10 20:24 tycoon3 阅读(106) 评论(0) 推荐(0)
摘要: 宏 (1).macro和.endm组成一个宏;(2).macro后面跟着的依次是宏名称,宏参数;(3)在宏中使用参数,需要添加前缀""; .macro add a,b //宏名称add,参数a,b (4)红参数定义时,可以设置初始值 .macro test p1=0 p2//可以用test a,b或 阅读全文
posted @ 2022-03-10 19:52 tycoon3 阅读(130) 评论(0) 推荐(0)
上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 164 下一页

导航