首页
学习
活动
专区
工具
TVP
发布

嵌入式进阶之路

作者哆哆,芯片原厂固件开发,公号【哆哆jarvis】
专栏作者
34
文章
38030
阅读量
12
订阅数
26000字剖析uboot启动过程
最先执行的是汇编文件start.S,这个文件跟架构有关,例如芯片架构是arm926ejs,那路径就在*arch/arm/cpu/start.S*。
哆哆jarvis
2023-03-24
1.6K0
RISC-V | 简介
RISC表示精简指令集,英文全称是Ruduced Instruction Set ComputerV表示第五代。RISC-V指令集有这些优点:设计简洁、模块化、开源和有丰富的软件生态。
哆哆jarvis
2023-02-26
1.3K0
路由器wds桥接方法-解决开发板、windows、ubuntu互ping问题
很多学习嵌入式Linux的同学一定会遇到一个问题:就是开发板、windows、ubuntu互相ping通怎么设置。我也不例外,即使我已经搭建过很多次这种环境,但是这一次我被折磨的有点崩溃了(开发板直连PC有限网卡,PC通过wifi上网),我搭建好之后,第二天又不行了,然后第二天又费了大量时间搞了一遍、第三天又不行了!
哆哆jarvis
2023-02-26
1.9K0
Linux内核MMC里的轮询机制
最近遇到客户提的一个问题,大概意思是他们的SDIO Wi-Fi在卸载Wi-Fi驱动后再加载就检测不到Wi-Fi设备了。从他的问题看大概是热插拔有问题。
哆哆jarvis
2023-02-26
1.8K0
【每天一个小知识】死锁
死锁是指两个或两个以上的进程在执行过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞的现象,若无外力作用,它们都将无法推进下去。此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等待的进程称为死锁进程。
哆哆jarvis
2023-02-26
1950
【每天一个小知识】Linux信号量
Linux里的信号量是一种睡眠锁,调用者试图获得一个已被占用的信号量时,信号量会将其推入一个等待队列,让其睡眠。当该信号量被释放后,等待队列中的任务会被唤醒,获得该信号量。
哆哆jarvis
2023-02-26
7590
【每天一个小知识】自旋锁
自旋锁与互斥锁类似,但是自旋锁不会引起调用者睡眠。如果自旋锁被其他执行单元保持,则调用者会一直循环等待保持者释放锁。
哆哆jarvis
2023-02-26
4680
【每天一个小知识】锁的基本思想
我们假定有两个线程来分别从银行卡和存折进行取款操作,当A线程执行完判断语句后,获得了当前账户中的余额数(1000元),因为余额大于取款金额,所以准备执行取钱操作(从账户中减去1000元),但此时它被线程B打断,然后,线程B根据余额(1000),从中取出1000元,然后,将账户里面的余额减去1000元,然后,返回执行线程A的动作,这个线程将从上次中断的地方开始执行:也就是说,它将不再判断账户中的余额,而是直接将上次中断之前获得的余额减去1000。此时,经过两次的取款操作,账户中的余额为100元,从账面上来看,银行支出了1000元,但实际上,银行支出了2000元。
哆哆jarvis
2023-02-26
2910
fat文件系统查找、删除、创建目录
查找一个文件是通过文件名查找的,对于fat文件系统,可以直接从vfat_lookup函数看
哆哆jarvis
2022-11-21
1.6K0
fat文件系统简介
Fat文件系统是sd卡常用的一种文件系统类型,在电脑上,我们可以把sd卡格式化成exfat类型或者ntfs类型。在linux系统里,我们可以用mkfs.vfat /dev/mmcblk0把sd卡格式化成fat文件系统类型,容量大于512M的默认会格式化成fat32,就是32位,除了fat32,还有fat12,fat16。 Fat文件系统是以簇为基本单元管理的,什么是簇? 簇其实就是一连串的扇区,我们知道sd卡在格式化完后,通常一个sector为512字节,所以我们以常见情况假设一个sector为512字节,用winhex读sd卡的信息,可以看到,格式化完的fat32默认一个簇是8K,一个sector是512字节,也就是一个簇是16个sector,所以簇的本质其实就是一串扇区。Fat文件系统限制了最大簇为32K。
哆哆jarvis
2022-11-21
1.8K0
制作SD启动卡,从SD卡启动系统
可以看到我这张SD卡的相关信息,总容量为15931539456字节,31116288个sectors,即一个sector为512字节。
哆哆jarvis
2022-08-23
3.1K0
移植Linux4.14.13到imx6ull
复制一份imx_v6_v7_defconfig,这里我命名为dfos_mini_defconfig。
哆哆jarvis
2022-08-23
2.5K0
系统启动流程-armV7
芯片复位后,将在异常向量表中复位向量的位置开始执行。复位操作的代码必须做以下事情:
哆哆jarvis
2022-08-23
1K0
从《README》了解u-boot
U-Boot是基于PowerPC、ARM、MIPS 和其他几个处理器的嵌入式板的引导加载程序,可以安装在引导 ROM 中,用于初始化和测试硬件或下载和运行应用代码。U-Boot 的开发与 Linux 息息相关:部分源代码来源于 Linux 源代码树,我们有一些共同的头文件,并专门提供了支持 Linux 镜像的引导。
哆哆jarvis
2022-08-23
5720
通俗易懂!快速了解虚拟文件系统(VFS)
为什么 Linux 内核的文件系统类型那么多,都能挂载上呢?为什么系统里可以直接 mount 其他文件系统呢?甚至能把 windows 下的文件夹挂载到 windows 上,为什么 Linux 的虚拟文件系统这么强大?这得益于它的数据结构设计得十分精妙。好像听过,Linux 有什么解决不了的?加一层。
哆哆jarvis
2022-08-23
1.9K0
eMMC读写的数据流图
之前在《深入浅出MMC子系统》介绍了MMC子系统,从中可以窥探出eMMC读写的全流程,对于其中的数据流,了解它也非常重要。将其中的数据流抽出来分析,深入理解里面每一层使用的数据结构,会让我们对MMC的理解更为深刻。
哆哆jarvis
2022-08-23
1.1K0
深入浅出MMC子系统
本文基于内核版本4.1.15分析,随着内核版本升级,部分数据结构会发生变化,但是整体流程没有发生变化。
哆哆jarvis
2022-08-23
1.1K0
start_kernel函数部分分析
初始化高端内存线性地址中永久映射的全局变量.IMX6ULL这里的宏没开,所以这里应该是空
哆哆jarvis
2022-08-23
2470
<leetcode刷题-数组> 【双指针】旋转数组
把这个数组比喻成一个圆的直径,当我们翻转180°时,令left为最左边,right为正好落在了最后边。当我们再次翻转180°,又会还原成自己。
哆哆jarvis
2022-08-23
2930
<leetcode刷题-数组> 【动态规划】【贪心算法】买卖股票的最佳时机
给定一个数组 prices ,其中 prices[i] 是一支给定股票第 i 天的价格。
哆哆jarvis
2022-08-23
3240
点击加载更多
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档