Linux基础
文章平均质量分 91
linux顿悟吧
芯片bsp驱动开发
展开
-
linux 内核ARM64启动
这个是与机器有关的,可能使用了内部算法自动的定位并取得物理内存的大小,这些CPU在内核之外的保留的内存区域(dtb里的 /memreserve/ 的指定区域)空转,并轮询“cpu-release-addr”地址,该地址也在保留区域内。任何描述给内核的内存(包括低于镜像起始地址的),如果没有标记为保留的(dtb里的 /memreserve指定)将被内核认为是可以使用的。所有可写的系统寄存器在这内核镜像将要进入的异常级别(EL)必须在一个更高的异常级别(EL)通过软件初始化,来防止在一个未知的状态执行。原创 2024-01-17 22:44:12 · 1331 阅读 · 1 评论 -
linux 内核ARM32启动
(它可以使用内部算法自动定位和调整所有RAM的大小,也可以使用对机器中RAM的了解,或者任何其他引导加载程序设计者认为合适的方法。我们使用了raw Image的启动方式,没有选择使用uImage(压缩)的方式进行启动,使用gzip进行对Image进行压缩,在uboot中进行gzip解压,可与arm64的打包方式保持一致。内核应该放置在RAM的前128MiB中。如果使用了initramfs,那么与dtb一样,它必须放置在内核解压缩程序不会覆盖的内存区域中,同时仍然位于内核低内存映射的范围内。原创 2024-01-17 17:23:30 · 1120 阅读 · 0 评论 -
Makefile工程管理器
文章目录导引makefile的规则和伪目标makefile规则makefile伪目标makefile中的变量自定义变量自动变量预定义变量和环境变量makefile的规则Makefile引用其他Makefile导引如果是一个单独的.c文件,我们可以使用一条gcc指令去完成编译,得到可执行文件。例如://test.c#include <stdio.h>#include <unistd.h>#include "test.h"int main(void){ //prin原创 2020-06-30 09:19:56 · 400 阅读 · 0 评论 -
usb3.0读写速率测试方法
一、 WIFI adb的使用1.用USB连接手机2.打开命令输入adb tcpip 5555结果adb tcpip 5555;restarting in TCP mode port: 55553.查看手机ipadb shell ifconfig wlan0结果wlan0 Link encap:UNSPEC inet addr:192.168.50.141 Bcast:192.16...原创 2019-11-19 17:09:19 · 8340 阅读 · 0 评论 -
malloc、kmalloc、vmalloc的区别
原创 2019-11-15 19:49:17 · 172 阅读 · 0 评论 -
漫画|Linux 并发、竞态、互斥锁、自旋锁、信号量都是什么鬼?
1. 锁的由来?学习linux的时候,肯定会遇到各种和锁相关的知识,有时候自己学好了一点,感觉半桶水的自己已经可以华山论剑了,又突然冒出一个新的知识点,我看到新知识点的时候,有时间也是一脸的懵逼,在大学开始写单片机的跑裸机代码,完全不懂这个锁在操作系统里面是什么鬼,从单片机到嵌入式Linux,还有一个多任务系统,不懂的同学建议百度看看。2. 什么是并发和竞态?在早期的Linux内核中,并发...转载 2019-10-29 14:53:44 · 191 阅读 · 0 评论