自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

weixin_42031299的博客

本人是刚入行嵌入式开发的技术小白,博客都是工作和业余学习的总结。如有不对,欢迎指教。

  • 博客(475)
  • 资源 (9)
  • 收藏
  • 关注

原创 shell编程——条件表达式和if判断

条件表达式和if判断

2025-03-11 21:58:47 178

原创 shell编程——运算符和运算命令

【代码】shell编程——运算符和运算命令。

2025-03-09 16:34:20 185

原创 shell编程——使用read命令实现命令式交互式赋值和读取文件

shell编程——使用read命令实现命令式交互式赋值和读取文件。

2025-03-02 15:46:04 176

原创 shell编程(3)——$?、$$、变量子串

shell编程——$?、$$、变量子串。

2025-03-02 14:39:13 235

原创 RISC-V架构的WFI命令详解(WFI:wait for Interrupt)

RISC-V架构的wfi指令介绍

2025-03-02 11:32:39 395

原创 RISC-V架构的平台级中断控制器(PLIC:platform-level interrupt controller)详解

​​​ 本规范根据RISC-V平台级中断控制器规范(从RISC-V特权规范V1.11草案中删除)中定义的通用PLIC(platform-level interrupt controller )架构描述操作参数,以便在RISC-V系统的上下文中工作。PLIC将各种设备中断复用到Hart上下文的外部中断线上,并且具有中断优先级的硬件支持。PLIC最多支持1023个中断(中断号0保留)和最多15872个上下文,但是实际中断和上下文的数量取决于PLIC实现。

2025-02-27 20:17:19 663

原创 shell编程——shell脚本执行、传参、变量定义、注释

shell脚本执行、传参、变量定义、注释。

2025-02-05 20:07:01 275

原创 shell编程——shell介绍

sh指向的就是系统默认的命令解释器。

2025-02-02 20:42:11 328

原创 history命令常见用法和设置

history命令常见设置和用法

2025-01-31 22:53:26 453

原创 C语言结构体位定义(位段)的实际作用深入分析

C语言结构体位定义(位段)的实际作用深入分析。

2024-12-25 22:29:43 503

原创 业务栈、异常栈、中断栈独立设置的优劣势分析(RISC-V架构)

业务栈:运行业务代码时用到的栈。如果支持任务调度,不同任务的栈也是独立的异常栈:当CORE进入异常时,跳转到异常处理代码时用到的栈中断栈:当CORE接收到中断时,跳转到中断处理代码时用到的栈。

2024-12-24 20:17:29 335

原创 RISC-V架构的压缩指令集介绍

RISC-V架构的压缩指令集介绍。

2024-12-23 21:13:11 955

原创 svn/git提交代码的说明规范样例

1、无论是在公司提交代码,还是在gitbub等代码托管平台提交代码,都需要在提交代码时说明此次修改了什么地方,方便维护代码库,可以查询提交记录来知道什么版本修改了什么功能;2、如果没有填写详细的提交说明,那以后想知道不同版本的修改点,只能通过修改的代码点去分析,费时又费力;3、说明规范没有统一的标准,目的是让以后查看代码库版本时,能够快速知道修改了什么地方,影响/实现什么功能;备注:公司提交代码都有规范,按照公司的规范来。

2024-12-11 20:52:33 224

原创 快速将二进制文件(.bin文件)转换成C语言数组:xxd命令

1、xxd 是一个 Unix/Linux 系统中的命令行工具,用于生成二进制文件的十六进制表示(hex dump)以及将十六进制表示转换回二进制文件。它常用于查看和编辑二进制文件内容2、-p:生成一个纯十六进制数字的连续输出,不显示行号和 ASCII 部分3、-c :设置每行显示的字节数4、-b:以二进制格式(而非十六进制格式)显示输出。

2024-10-30 20:22:16 647

原创 问题排查:编译器优化导致读写寄存器操作异常,从而导致core挂死

1、访问寄存器的操作(以32位机器分析)在嵌入式开发时,经常需要访问寄存器,有时候只需要得到寄存器的部分bit位,会将寄存器的值读出来再进行移位操作,从而解析出特定的bit位上面的C代码,想要读取出某个寄存器的高16bit,从C代码层面看是没有问题的,但是实际运行时可能会出错,这取决于使用的编译器优化等级。编译器不优化执行不会出错,编译器优化就可能出错2、编译器优化:使用-Os优化等级使用-Os优化等级编译代码,程序运行时会导致core挂死,原因如下:使用-Os优化等级编译代码,编译器

2024-10-07 15:58:44 618

原创 深入分析——为什么未初始化的全局变量是零?

【代码】深入分析——为什么未初始化的全局变量是零?

2024-10-07 12:10:19 715

原创 VISIO的使用小技巧总结

1、打开和关闭对齐辅助线2、形状面板不见的解决方法

2024-05-18 14:47:45 633

原创 xshell使用小技巧

官网下载:https://www.xshell.com/zh/free-for-home-school/

2024-05-18 11:19:26 348

原创 快速查看字符对应的ASCII码

1、借助gdb查看打印字符串用双引号括起来打印单个字符用单引号括起来x 表示十六机制d 表示十进制t 表示二进制2、借助二进制查看软件第一步:把要查看的字符保存到文本文件中第二步:借助二进制查看工具(比如:Hex Editor Neo)进行查看

2024-05-15 21:00:00 1064

原创 以RISC-V架构的CLIC中断机制讲解:中断咬尾、中断抢占、中断晚到

中断抢占的条件高特权模式的中断可以抢占低特权模式的中断,不管低特权模式的全局中断是否使能同特权模式的中断,高中断等级的中断要抢占低特权等级的中断,前提是特权模式的全局中断必须要使能中断抢占:前一个中断还在执行时发生了更高等级的中断,立马去执行高等级的中断处理程序,等高等级的中断处理程序执行完毕,再回来执行前一个中断出来程序的剩余部分。

2024-03-22 19:00:00 2540

原创 RISC-V架构中mret、sret、ret三个指令的区别

ret用于函数调用返回,mret和sret用于从高特权模式切换回陷入前的地特权模式。

2024-03-21 19:00:00 3474

原创 RISC-V架构的三种特权模式如何切换

【代码】RISC-V架构的三种特权模式如何切换。

2024-03-20 20:25:23 2936 2

原创 QEMU调试——通过获取设备树(dtb文件)查询开发板的外设地址信息

使用qemu时,想快速知道开发板的地址空间映射情况,特别是某些外设控制器的寄存器基地址。

2024-03-07 19:01:13 987

原创 嵌入式开发的常用软件、学习资源网站推荐

嵌入式开发常用软件、学习网站推荐

2024-03-06 20:30:39 4646 1

原创 RISC-V架构学习资料整理

https://github.com/bigmagic123/d1-nezha-baremeta

2024-03-06 19:24:15 866

原创 RISC-V架构的不可屏蔽中断(NMI:Non-Maskable Interrupt)介绍

以NMI为例,芯莱处理器的硬件行为在“The overall process of NMI”章节描述。注意,下面的操作在一个周期中同时完成:当发生NMI时,硬件会自动将NMI的编码保存到mcause寄存器中,异常、中断和NMI都有专属的trap ID。NMI的trap ID有两种潜在的值被mmisc_ctl寄存器控制软件可以通过查询Trap ID区分出陷入原因,并且对不同的陷入类型构建对应的处理函数

2024-03-06 19:12:05 3132

原创 芯来芯片的硬件栈溢出检测机制(Stack Check)介绍

硬件的栈溢出检测机制

2024-02-26 19:00:00 687

原创 RISC-V架构——CLINT中断控制器初始化(直接模式、向量模式)

模式位占用两个bit,其中2和3这两个值是保留的,在有的芯片中,2和3会分别对应CLIC的直接模式和CLIC的向量模式模式位不仅可以决定是直接模式还是向量模式,还可以决定使用CLINT控制器还是CLIC控制。

2024-02-20 18:30:00 3419 2

原创 嵌入式开发——linux系统怎么知道接了多少物理内存?

1、前言linux系统是不知道当前设备接了多少内存,需要bootloader在启动时告诉linux系统感知到当前设备接了多少物理内存有两种方式动态识别(X86架构大多是这种):可以插拔的内存条,bootloader能识别出内存条的容量代码里写死(ARM架构大多是这种):设备的内存是贴片上去的,不支持动态改变,内存的容量在代码里写死(系统工程师在适配程序时要根据实际物理内存容量去修改代码)2、linux系统知道实际物理内存大小的方式设备树中可以通过"/memory"节点来指定内存的起始

2024-02-10 11:36:48 566

原创 freeRTOS的第一个任务是如何跑起来的?(以RISC-V架构分析)

介绍freeRTOS是如何开始运行第一个任务

2024-01-31 19:00:00 603

原创 链接脚本常用命令(KEEP、MEMORY、PROVIDE、ENTRY、AT、ALIGN等)

【代码】链接脚本常用命令(KEEP、MEMORY、PROVIDE、ENTRY、AT、ALIGN等)

2024-01-31 18:10:08 3014 2

原创 GNU链接脚本的MEMORY命令解析

GNU链接脚本的MEMORY命令解析。

2024-01-31 17:57:38 760

原创 RISC-V架构常见gcc编译选项(-march、-mabi=、-mcmodel、-mlittle-endian、-mbig-endian)

【代码】RISC-V架构常见gcc编译选项(-march、-mabi=、-mcmodel)

2024-01-28 10:35:19 4349

原创 gcc扩展选项__attribute__((interrupt))——指定中断处理函数属性

不使用__attribute__((interrupt))修饰,函数内只需要保存被调用者保存的寄存器使用__attribute__((interrupt))修饰后,只要在函数内使用到的寄存器都必须保存再恢复,会占用更多的栈空间,翻译得到的汇编代码也会增多还可以指定中断处理函数的优化等级:只有中断处理函数才用__attribute__((interrupt))修饰,其余常规函数不要使用。

2024-01-20 15:32:39 2448

原创 获取编译工具链默认的链接脚本

1、ld命令使用“–verbose”参数命令:riscv64-linux-gnu-ld --verbose想使用自己的链接脚本,链接时使用“-T”指定

2024-01-19 22:31:02 514

原创 freeRTOS的栈溢出检测机制

/当前任务使用的栈空间地址,也就是SP指向的地址//记录分配给任务的栈空间的最低地址《freertos任务调度机制深度分析(以RISC-V架构为例)》;在创建任务时,把任务的栈空间赋值成特殊值在切换任务时,检查栈空间的最后一小段是否被改写过如果不是特殊值则说明该段栈空间被使用过,则认为任务栈空间不足,曾经发生过栈溢出上面介绍的两种栈空间溢出检测机制,基本只能检测出是否发生过栈空间溢出,不好定位是何时何地发生栈空间溢出。

2024-01-05 19:00:00 1688

原创 四种“栈溢出检测方法”实现分析(2种纯软件、一种纯硬件、一种软硬件结合)

介绍栈溢出检测机制

2024-01-05 19:00:00 1187

原创 freeRTOS学习资料整理

1、视频资料韦东山的freeRTOS视频:《韦东山freeRTOS系列教程:FreeRTOS的内部机制》;2、文档资料3、硬件平台学谁的视频买谁的开发板使用qemu平台来学习,适合有经验的人,可以节省买开发板的钱

2023-12-25 19:59:38 582

原创 嵌入式开发——移植printf函数源码到裸机程序中

【代码】嵌入式开发——移植printf函数源码到裸机程序中。

2023-12-24 21:00:00 719

原创 gitee提交代码步骤介绍(含git环境搭建)

gitee提交代码步骤

2023-12-17 21:17:07 739

RISC-V 平台级中断控制器 (PLIC) 规范解析与实现要点

内容概要:本文档详细解析了 RISC-V 平台级中断控制器 (PLIC) 的架构与实现规范。主要涵盖了 PLIC 如何管理和处理来自多种设备的中断,将其高效地路由到多个 Hart 上下文的具体机制,以及在多线程环境下管理不同中断级别的处理流程。介绍了 PLIC 支持多达 1023 个中断源、最多 15872 个 hart 的特点,重点解释了中断挂起位、优先级、使能寄存器等功能,并对中断响应和完成机制进行了详述。文中还探讨了电平触发与边沿触发中断的区别及其处理流程,并讨论了在特定条件下的性能优化方法如优先级阈值设置和仲裁规则。 适用人群:熟悉RISC-V架构的基础知识和具有一定嵌入式操作系统背景的研发人员,尤其对于那些正在从事RISC-V芯片设计或者嵌入式系统的开发者更为适用。 使用场景及目标:该文档旨在指导设计师理解和实现 RISC-V 系统中的 PLIC,确保能够在设计阶段正确配置中断处理路径和优化中断响应效率,从而提高整个系统的稳定性和实时性能。

2025-03-01

玄铁c906用户手册pdf

玄铁c906用户手册pdf

2023-10-23

全志裸机烧录工具xfel

此版本xfel修复了因为spi norFlash写保护而不能烧写norFlash的BUG。

2023-10-09

wireshark软件

压缩包里是wireshark软件安装包,包含Windows32位和Windows64位两个安装程序。

2023-06-04

pcie学习资料112233

pcie学习资料11111111111111111111111111111111111

2023-04-20

从零开始用C语言实现图片解码播放器源码

源码稍加修改可以直接编译运行,整个源码的功能是实现bmp、png、jpg图片的解码播放,支持触摸屏翻页。详细的项目介绍可以阅读我的博客:https://blog.youkuaiyun.com/weixin_42031299/article/details/126563220

2022-08-27

BMP格式转RGB格式源码

资源包里是BMP图像格式转RGB图像格式的源码,可以直接编译成可执行程序进行测试, 该源码支持8bit、16bit、24bit、32bit的BMP图像。

2022-08-20

【hisi3516d芯片】基于hwmon驱动框架——获取芯片温度驱动的源码

【hisi3516d芯片】基于hwmon驱动框架——获取芯片温度驱动的源码

2022-05-21

Makefile学习资料

很详细的介绍了Makefile知识

2022-05-07

查看二进制文件的常用软件

查看二进制文件的常用软件

2022-04-18

SecureCRT软件

Windows中阅读C语言的常用软件

2022-04-18

7YUV--查看YUV、RGB等格式的软件

7YUV--查看YUV、RGB等格式的软件

2022-04-18

Windows中tftp服务器软件

在Windows中搭建tftp服务器

2022-04-18

Windows中nfs服务器软件

在Windows中搭建NFS服务器

2022-04-18

iperf-2.0.9版本的源码

iperf-2.0.9版本的源码

2022-04-07

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除