社区首页
博客
论坛
下载
文库
评测
芯语
研讨会
商城
EE直播间
芯视频
E聘
更多
社区
论坛
博客
下载
评测中心
面包芯语
问答
E币商城
社区活动
资讯
电子工程专辑
国际电子商情
电子技术设计
CEO专栏
eeTV
EE|Times全球联播
资源
EE直播间
在线研讨会
视频
白皮书
小测验
供应商资源
ASPENCORE Studio
活动
IIC Shanghai 2023
2023(第四届)国际 AIoT 生态发展大会
全球 MCU 生态发展大会
第四届临港半导体产业高峰论坛暨司南科技奖颁奖盛典
IIC Shenzhen 2023
第四届中国国际汽车电子高峰论坛
更多活动预告
杂志与服务
免费订阅杂志
电子工程专辑电子杂志
电子技术设计电子杂志
国际电子商情电子杂志
登录|注册
帖子
帖子
博文
电子工程专辑
电子技术设计
国际电子商情
资料
白皮书
研讨会
芯语
文库
首页
热门
专栏作家
电子产业热词
CEO专栏
技术文库
科技头条
专栏入驻
×
提示!
您尚未开通专栏,立即申请专栏入驻
帖子
博文
用户
芯语
登录
首页
专栏作家
CEO专栏
论坛
博客
E币商城
资讯
电子工程专辑
国际电子商情
电子技术设计
文章
178
阅读
115313
评论
6
赞
58
关注
0
粉丝
10
嵌入式Lee
暂无介绍~
关注
文章
178
阅读
115313
评论
6
Ta的
文章
基于WSL2调试UVC-Linux下多UVC设备显示问题案例分享
嵌入式Lee
2025-01-04
52浏览
WSL2中配置支持UVC
嵌入式Lee
2025-01-02
56浏览
2024年文章汇总
超级精简系列之十八:超级精简的IO模拟驱动黑白电子书屏LS013B4DN04 1.3" 168x144USB系列之-一文搞懂CDC虚拟串口COM号变与不变?USB系列之-一文搞懂枚举成WINUSB相关的描述符USB系列之-WINUSB枚举过程实例分享USB系列之-UAC+PWM实现扬声器(USB Audio)设备USB/串口/网络数据监控一网打尽-分享一个非常实用的工具超级精简系列之十九:超级精简
嵌入式Lee
2025-01-01
66浏览
使用JTAG_BSDL进行MCU测试以及外部NOR烧录-以LPC1857为例
嵌入式Lee
2024-12-27
96浏览
移植micropython到MCU-新增pyb-LED模块
嵌入式Lee
2024-12-19
28浏览
移植micropython到MCU(以MDK+CORTEX-M平台示例)
嵌入式Lee
2024-12-18
75浏览
RISCVLinuxkernel启动代码分析之十二:riscv中断架构介绍(2)
嵌入式Lee
2024-12-08
64浏览
RISCVLinuxkernel启动代码分析之十二:riscv中断架构介绍(1)
嵌入式Lee
2024-12-07
76浏览
RISCVLinuxkernel启动代码分析之十一:设备树介绍(2)
嵌入式Lee
2024-12-06
36浏览
RISCVLinuxkernel启动代码分析之十:设备树介绍(1)
嵌入式Lee
2024-12-05
59浏览
STEPBYSTEP设计一个RISC-V仿真器之二:OpenOCD适配新的设备驱动
嵌入式Lee
2024-12-04
50浏览
RISCVDEBUG系列之二:基于JTAG的RISCV的DM操作数据流
一. 前言前面我们介绍了JTAG的基本知识,知道了JTAG的是如何通过操作IR,DR和TAP进行数据交互的。这一篇就来继续分享RISCV的DEBUG是如何使用JTAG进行数据交互的。二. 整体架构我们参考官方的规格书《RISC-V Debug Specification Version 1.0-STABLE》,可以直接从github上下载https://github.com/riscv/riscv
嵌入式Lee
2024-12-03
58浏览
RISCVDEBUG系列之一:JTAG简介
一. 前言在RISCV前期验证和驱动开发阶段比较依赖DEBUG,甚至第一步就是要调通DEBUG使其能工作,否则早期都无法进行程序下载与调试验证。规格书RISC-V Debug Specification Version 1.0-STABLE 中介绍了RISCV的DEBUG实现,我们就分几篇来分享相关内容。其中Chapter 6 Debug Transport Module (DTM), non-I
嵌入式Lee
2024-12-02
70浏览
在MCU上移植使用libjpeg
一. 前言在一些嵌入式项目中可能需要用到jpeg编解码,比如UVC的MJPEG显示, 加载JPEG图片显示到TFT屏幕等,而往往很多通用MCU平台不带硬件jpeg编解码,此时就需要软件实现,这时就希望能有一个好用的jpeg编解码库,恰好官方就提供了这么一个c库即libjpeg。网址为https://libjpeg.sourceforge.net/。可以方便将该库应用到自己的项目中,当然其实现也是学
嵌入式Lee
2024-11-26
104浏览
RISCVLinuxkernel启动代码分析之九:initramfs实践
一. 前言 内核启动后需要挂载根文件系统,找到并执行init程序。在调试适配阶段,我们甚至还没有实现各种存储设备的驱动,此时也没法从对应的存储设备挂载文件系统找到init执行。此时我们可以使用initramfs,直接将简单的根文件系统打包压缩嵌入到内核中,启动时解压解包文件到rootfs中,此时就可以找到对应的init执行,后续再加载存储设备驱动,挂载实际的根文件系统,并切换过去。 整个过程涉及如
嵌入式Lee
2024-11-24
60浏览
RISCVLinuxkernel启动代码分析之八:tick定时器相关流程
一. 前言Linux中RTOS需要一个tick心跳进行调度处理,linux中的tick处理函数是scheduler_tick。本文从整体流程上来分析下执行到scheduler_tick的流程,以及过程中定时器中断相关的回调是如何注册的,以stime即中断号为5为例。先上流程图方便对照二. 设置异常入口handle_exceptionarch/riscv/kernel/head.S中.align 2
嵌入式Lee
2024-11-21
65浏览
RISCVLinuxkernel启动代码分析之七:早期使用opensbi的串口打印
一. 前言适配内核到新的平台,基本环境搭建好之后,首要的就是要调通调试串口,方便后面的信息打印。正常流程init/main.c中start_kernel入口,要到console_init之后才能真正打印,前面的打印都是缓存在printk的ringbuffer中的。如果在console_init前就异常了,此时就看不到打印信息,为了调试console_init前的状态,需要能更早的打印。内核提供了一
嵌入式Lee
2024-11-20
109浏览
RISCVLinuxkernel启动代码分析之六:setup_vm_final分析
一.前言前面我们分析了setup_vm以及relocate,并详细手算了对应的页表了解了此时页表映射了哪些虚拟地址到哪个物理地址。现在继续来看setup_vm_final该函数实现最终的映射。二. 分析过程该函数调用路径如下head.S的relocate之后tail start_kernel->start_kernel(init/main.c)->setup_arch(arch/riscv/ker
嵌入式Lee
2024-11-19
140浏览
RISCVLinuxkernel启动代码分析之五:一个小技巧实现在MMU使能后继续使用GDB调试
一. 前言我们在前面分析head.S时借助了GDB进行仿真分析。在使能MMU前,链接地址和运行地址虽然不一样,但是此时没有使能MMU可以直接访问物理地址,我们此时可以使用GDB进行单步等各种调试,链接地址和运行有一个固定偏差所以也可以直接对照反汇编代码。应对此时的链接地址和运行地址不一致导致的无法使用vmlinux的符号,无法在GDB中同时对应源码和汇编,我们可以使用add-symbol-file
嵌入式Lee
2024-11-17
154浏览
RISCVLinuxkernel启动代码分析之四:setup_vm之后的页表
一. 前言前文分析了setup_vm函数,主要是几个配置页表的函数的实现。这一篇就进一步来看看setup_vm完之后,配置的页表到底将那些虚拟地址映射到了哪里。我们通过手算和GDB查看对照的方式来加深印象。二. 分析过程在如下位置打断点运行到该处,即setup_vm执行完后,relocate执行前。hb *0x80201000c然后打印出各个页表的内容,和手动计算对比。从源码可以看出构建了两个根页
嵌入式Lee
2024-11-16
183浏览
RISCVlinuxkernel启动代码分析之三:setup_vm分析
一. 前言前面我们介绍了riscv的mmu以及kernel汇编代码中的relocate处理。这一篇继续来分享启动代码中最重要的一环setup_vm。该函数为relocate做准备,即准备实现VA-PA映射的页表,在relocate时使能MMU的satp指向这些页表,从物理地址切换到虚拟地址运行。二. 分析过程为了方便整个运行过程的分析,我们基于QEMU和GDB来进行仿真分析,可以方便对照汇编,查看
嵌入式Lee
2024-11-15
210浏览
RISCVlinuxkernel启动代码分析之二:RISCV的MMU介绍与relocate
一. 前言前面介绍了启动汇编部分代码执行流程和镜像头,这一篇继续分析整个过程中关键的一步relocate,物理地址到虚拟地址运行的切换。前面先简单介绍下riscv的mmu,后面分析relocate和setup_vm时需要用到。二. riscv的mmuMMU相关内容参考[1]The RISC-V Instruction Set Manual: Volume II Privileged Archite
嵌入式Lee
2024-11-14
230浏览
RISCVlinuxkernel启动代码分析之一:启动汇编部分代码
一. 前言本文主要分析RISCV linux kernel的启动汇编部分代码。先结合链接脚本和汇编代码介绍镜像头和启动汇编代码部分的执行过程。后面文章再详细分析重定向,mmu设置等相关重点内容。代码路径arch/riscv/kernel/head.S, 不同版本内核可能有点差异。二. 根据链接脚本查找入口与镜像头介绍2.1 链接脚本内核根目录Makefile中export KBUILD_LDS
嵌入式Lee
2024-11-12
250浏览
在MCU上移植使用tinygl
一. 前言有时候我们需要在MCU上进行一些图像处理,比如变换,3D显示等,希望有类似opengl的工具,恰好Tinygl就是这样一个不错的选择。其官方网页为:https://bellard.org/TinyGL/。它的作者就是开发出了ffmpeg等项目的大牛FabriceBellard,可以见其网站https://bellard.org/, 可以看到该网站上还有很多的项目,包括QEMU,TCC等,
嵌入式Lee
2024-11-11
202浏览
opensbi链接脚本解读
一. 前言 了解OpenSBI的镜像的整体架构, 可以先从链接脚本入手,这一篇就来分享OpenSBI的链接脚本,看程序镜像是如何布局的。二. 链接脚本生成与生成elf先来看炼焦脚本在哪里,如何生成elf的。opensbi/Makefile中$(platform_build_dir)/%.ld: $(src_dir)/%.ldS $(call compile_cpp,$@,$
嵌入式Lee
2024-10-03
498浏览
正在努力加载更多...
Ta的
近期热门
使用JTAG_BSDL进行MCU测试以及外部NOR烧录-以LPC1857为例
2024-12-27 96浏览
移植micropython到MCU(以MDK+CORTEX-M平台示例)
2024-12-18 75浏览
2024年文章汇总
2025-01-01 66浏览
RISCVLinuxkernel启动代码分析之十二:riscv中断架构介绍(2)
2024-12-08 64浏览
WSL2中配置支持UVC
2025-01-02 56浏览
基于WSL2调试UVC-Linux下多UVC设备显示问题案例分享
2025-01-04 52浏览
移植micropython到MCU-新增pyb-LED模块
2024-12-19 28浏览
今日
新闻
TOP1
国家发改委、国家数据局、工业和信息化部发布《国家数据基础设施建设指引》
来源:eetc
TOP2
能源效率:边缘计算成功的关键
来源:eetc
3
传英伟达成立ASIC部门,双面下注保持不败?
来源:eetc
4
超越硅极限的双极半导体器件,关断/接通比超10亿
来源:ednc
5
用于电路分析和设计的Spice仿真指南–第14部分:评估用户定义的电气量
来源:ednc
6
韩国出口额创纪录,半导体成经济增长引擎
来源:esmc
7
中国调整制造电池组件和锂、镓等相关技术出口限制
来源:eetc
8
LG Display欲在IT OLED生产线上生产iPhone OLED,但需苹果点头
来源:eetc
本网页已闲置超过10分钟,按键盘任意键或点击空白处,即可回到网页
X
最新资讯
国家发改委、国家数据局、工业和信息化部发布《国家数据基础设施建设指引》
能源效率:边缘计算成功的关键
传英伟达成立ASIC部门,双面下注保持不败?
超越硅极限的双极半导体器件,关断/接通比超10亿
用于电路分析和设计的Spice仿真指南–第14部分:评估用户定义的电气量