嵌入式学习资源跳转链接

2024年蓝桥杯嵌入式比赛的准备心得和比赛资源注意事项(附赛事资源包) 蓝桥杯嵌入式组比赛最主要考验的是对于stm32相关方面的编程能力,以及选择填空方面的电子学科基础知识和对硬件的了解,和其它赛道的纯软方向不同,电子类单片机组和嵌入式组更加偏向硬件,要求参赛者具备数电模电、ARM Cortex M4硬件资源和软件编程与调试等知识。当然这对于大一新生自然是有难度的,因为有些学校大一上学期并不开设数电模电课程,需要自学相关内容,好在考察并不是很深入。 阅读详情

CubeMX

Leung_ManWah大佬 STM32CubeMX学习

FreeRTOS

FreeRTOS 官网文档

Leung_ManWah大佬 FreeRTOS学习

risc-v

600行c代码编写risc-v:

来自《安富莱嵌入式周报》第315期 分享

链接:https://github.com/mnurzia/rv

使用:

#include <stdio.h>
#include <string.h>
 
#include "rv.h"
 
rv_res load_cb(void *user, rv_u32 addr, rv_u8 *data) {
  if (addr - 0x80000000 > 0x10000) /* Reset vector is 0x80000000 */
    return RV_BAD;
  *data = ((rv_u8 *)(user))[addr - 0x80000000];
  return RV_OK;
}
 
rv_res store_cb(void *user, rv_u32 addr, rv_u8 data) {
  if (addr - 0x80000000 > 0x10000)
    return RV_BAD;
  ((rv_u8 *)(user))[addr - 0x80000000] = data;
  return RV_OK;
}
 
rv_u32 program[2] = {
    /* _start: */
    0x02A88893, /* add a7, a7, 42 */
    0x00000073  /* ecall */
};
 
int main(void) {
  rv_u8 mem[0x10000];
  rv cpu;
  rv_init(&cpu, (void *)mem, &load_cb, &store_cb);
  memcpy((void *)mem, (void *)program, sizeof(program));
  while (rv_step(&cpu) != RV_EECALL) {
  }
  printf("Environment call @ %08X: %u\n", cpu.pc, cpu.r[17]);
  return 0;
}

C语言

c的动态内存分配讲解(英文):

https://samwho.dev/memory-allocation/

makefile入门文档(英文):

https://makefiletutorial.com/#makefile-cookbook

开始学习 HarmonyOS 嵌入式开发 开始学习 HarmonyOS 嵌入式开发 上周,我收到了小熊派(南京厚德物联)赠送的嵌入式鸿蒙开发板 -- BearPi-HM Nano,感谢小熊派为 IoT 社区做出的贡献! 小熊派-HarmonyOS·季(BearPi-HM Nano)是一款由小熊派专为HarmonyOS系统打造的嵌入式开发板。 这款开发板,主要有以下特点: 1、采用 IoT-Club 的 E53 接口标准,可接入所有的 E53 案例扩展板。 2、主控为WiFi SOC Hi3861,160MHz主频,SRAM 352KB 阅读详情

相关推荐

ARM嵌入式跳转指令原理与函数调用机制解析

跳转指令是嵌入式系统控制流管理的基础技术概念,其核心在于程序计数器(PC)的修改与返回地址的保存机制。在ARM架构中,B、BL、BX、BLX等指令分别实现无条件跳转、带链接调用、状态切换跳转等不同语义,直接决定函数调用可靠性与中断返回正确性。从硬件执行视角看,BL指令通过自动写入LR寄存器保障调用-返回闭环,是C语言函数调用编译生成的底层支撑;而B指令缺失返回地址保存,仅适用于循环、启动跳转等单向场景。该机制深刻影响STM32裸机开发、Bootloader设计及RTOS任务切换等关键环节,也是HardFau

weixin_35871529的博客 456

携手STM32CubeMX玩转STM32

本课程教大家如何利用STM32CubeMX玩转STM32(STM32CubeMX支持的所有型号MCU都适用于本课程)。课程内容分为基础内容和扩展内容,例如:讲解串口时会扩展开讲Xmodem通信协议,讲解ADC/DAC时会扩展讲傅里叶计算,讲解完FLASH操作会扩展将bootloader的编写,讲解完M3的bootloader编写会扩展讲解M0的bootloader...... 内容绝对实在,对于学习以及工作都会有很大的帮助。最终的目的就是让大家学会快速开发STM32并收获与STM32有关的实用技术知识。

嵌入式学习笔记(17)代码重定位实战 上篇

当我们执行完代码重定位后,实际上在SRAM中有2份代码的镜像(一份是我们下载到0xd0020010处开头的,另一份是重定位代码复制到0xd0024000处开头的),这两份内容完全相同,仅仅地址不同。这就是短跳转和长跳转的区别。总结:重定位实际就是在运行地址处执行一段位置无关码PIC,让这段PIC(也就是重定位代码)从运行地址处把整个程序镜像拷贝一份到链接地址处,完了之后使用一句长跳转指令从运行地址处直接跳转到链接地址处去执行同一个函数(led_blink),这样就实现了重定位之后的无缝连接。

m0_70888041的博客 404

STM32CubeMX学习笔记(27)——FatFs文件系统使用(操作SD卡)

一、FatFs简介 FatFs 是面向小型嵌入式系统的一种通用的 FAT 文件系统。它完全是由 ANSI C 语言编写并且完全独立于底层的 I/O 介质。因此它可以很容易地不加修改地移植到其他的处理器当中,如 8051、PIC、AVR、SH、Z80、H8、ARM 等。FatFs 支持 FAT12、FAT16、FAT32 等格式,所以我们利用前面写好的 SPI Flash 芯片驱动,把 FatFs 文件系统代码移植到工程之中,就可以利用文件系统的各种函数,对 SPI Flash 芯片以“文件”格式进行读写操

Leung的博客 2万+

ARM链接器关键选项解析:解决嵌入式开发难题

在嵌入式系统开发中,链接器作为工具链的核心组件,承担着代码布局优化和内存管理的重要职责。ARM架构下的链接器通过veneer机制解决跨区域跳转问题,同时提供符号可见性控制确保模块安全隔离。这些特性对于资源受限的嵌入式环境尤为重要,能有效应对代码分散布局和模块保护等典型挑战。通过合理配置--max_veneer_passes和--max_visibility等选项,开发者可以优化Thumb/ARM状态切换,实现安全关键函数保护,这在汽车ECU和物联网设备等场景中具有显著价值。掌握这些链接器高级用法,能够提升嵌

weixin_30872157的博客 428

介绍嵌入式汇编程序的结构

嵌入式汇编程序的结构包括程序起始、指令序列和程序结束等部分,它由汇编指令、寄存器、内存、标号、符号等组成要素构成。深入了解嵌入式汇编程序的结构对于理解汇编程序的编写和调试具有重要意义,有助于提高系统的性能和可靠性,推动嵌入式系统的发展和应用。未来,随着硬件技术的不断进步和应用场景的不断拓展,嵌入式汇编程序将继续发挥着重要作用,为系统的性能和功能提供更加灵活和高效的编程支持。指令序列部分是汇编程序的核心部分,它包含了一系列的汇编指令,完成特定的功能。汇编程序的基本结构包括程序起始、指令序列和程序结束等部分。

2401_83379409的博客 981

(GCC)STM32CubeMX生成的ld链接脚本详解

本文所使用工程由STM32CubeMX生成,使用芯片:STM32F103ZET6,基本只开了时钟。 ld连接脚本内容如下: /* ***************************************************************************** ** ** File : LinkerScript.ld ** ** Abstract : Linker script for STM32F103ZETx Device with **

飞临云的博客 7991

VScode远程连接开发嵌入式开发板

VScode远程连接开发调试嵌入式开发板

qq_53221728的博客 5891

STM32开发利器:STM32CubeMX

这篇博客篇幅不长,主要是为大家介绍ST公司推出的STM32CubeMX开发工具,当成下周更新STM32 10个项目工程的预备篇,同时FPGA FPGA 20个例程篇:8.SD卡任意地址的读写,代码部分已经编写完毕,对应博客正在整理中,如图1所示即为STM32CubeMX的图标。图1 STM32CubeMX图标 在介绍STM32CubeMX之前,我们需要知道HAL库这个概念,实际在早些年大概2018年以前吧,大家做STM32工程开发,用的最多的是标准库,标准库自出道超过 10 年以来受广大使用者推

wandou0511的博客 3万+

【VAX 小番茄安装详细步骤】

本文详细介绍了在VS2022环境下安装Visual Assist X(番茄助手)的步骤及常见问题解决方案。主要内容包括:安装前的兼容性设置(需修改为Windows7兼容模式)、安装流程(卸载旧版本、勾选对应VS版本、替换关键dll文件)以及常见问题处理(如安装失败、工具栏图标缺失等)。文章提供了完整的下载链接和操作截图,特别强调了安装失败后的清理方法(注册表、安装目录和残余文件删除)。最后给出了安装成功后的测试运行指引。

qq_23962581的博客 1715

error C2039: “int_least8_t”: 不是“`global namespace'”的成员

在向H.265的测试软件HM16.0中配置boost的时候,发现 include &lt;boost/cstdint.hpp&gt;的时候总是会报错:错误 11 error C2039: “int_fast16_t”: 不是“`global namespace'”的成员 D:\Program Files\Caffe\VSContact\boost_1_58_0\boost\cstdint.hpp ...

flyerene的博客 1万+

stm32cubeMX+HAL库+串口DMA+iap跳转+DCache

1.串口dma 中断接收hal_uart_receive_it只能接收一次,要把他放在中断函数里才能连续接收,且while前要使用一次。 dma的fifo能减少进入dma中断的时间,但是并不大。 DCache会与dma冲突,导致数据在缓存里,dma读不到数,这是数据一致性的问题,可以解决,但是麻烦 2.iap跳转 通过串口接受到数据,数据写入内部flash,再执行跳转函数。注意bootloader程序的dma只能normal模式,否则跳转后卡死在dma中断程序里。 通过右键文件属性可以看到生成的bin文件字

autumn_7654321的博客 803

lisp方格网法计算土方量_分享:两期土方工程量计算(方格网法)实例例题

最近遇到一个飞时达土方软件试用版客户,咨询怎么根据平整前的原始地形图和平整后的现状地形图来计算产生的土方工程量,也就是两期土方量,且需要用方格网法来计算,作为一个老道的工程设计人员,博主对这类的项目实例例题简直太熟悉了,用飞时达土方计算软件V13.0可以很方便的计算出来。 方格网法计算两期土方量流程 一、软件安装及注册 专业的飞时达土方计算软件FastTFT,请到飞时达软件官方网站去下载,注册完...

weixin_35131425的博客 1698

2024年物联网嵌入式最全C 语言跳转表的实现及在嵌入式设备中的应用,2024年最新2024物联网嵌入式开发开发面试解答之设计模式篇

*这里是伪代码,因为命令太多,所以这样进行表示*/

2401_85014241的博客 352

如何在SpringBoot中实现AI 流式输出?

🏆本文收录于 《全栈 Bug 调优(实战版)》 专栏。专栏聚焦真实项目中的各类疑难 Bug,从成因剖析 → 排查路径 → 解决方案 → 预防优化全链路拆解,形成一套可复用、可沉淀的实战知识体系。无论你是初入职场的开发者,还是负责复杂项目的资深工程师,都可以在这里构建一套属于自己的「问题诊断与性能调优」方法论,助你稳步进阶、放大技术价值 。

**My Coding Family** 1479

YOLOv9改进策略 | Conv篇 | 2024最新ECCV最新大感受野的小波卷积WTConv助力YOLOv9有效涨点

本文给大家带来的改进机制是一种新的卷积层,称为WTConv(小波卷积层),它利用小波变换(WT)来解决卷积神经网络(CNN)在实现大感受野时遇到的过度参数化问题。WTConv的主要目的是通过对输入数据的不同频率带进行处理,使CNN能够更有效地捕捉局部和全局特征,WTConv成功解决了CNN在感受野扩展中的参数膨胀问题,提供了一种更为高效、鲁棒且易于集成的卷积层解决方案,我将其用于二次创新YOLOv9中的RepNCSPELAN4机制可以减少一定的参数量和计算量,达到一个可观的轻量化作用。

Snu77的博客 1543

HiChatBox二维码跳转网页链接识别

本文深入解析HiChatBox如何通过二维码实现智能设备的快速配网与跨平台接入,涵盖二维码生成、URL参数设计、服务端验证机制及安全策略,揭示其背后融合嵌入式系统、Web服务与用户体验优化的技术全链路。

weixin_42356162的博客 778

29、智能问答系统:原理、挑战与实现

本文深入探讨了智能问答系统的原理、挑战与实现方法。从智能问答系统的定义、重要性、问题类型和构建步骤,到实现中的歧义问题、数据集创建及基于规则的系统实现,全面解析了这一自然语言处理领域的重要应用。同时,文章还介绍了智能问答系统的应用场景、发展趋势以及面临的挑战与应对策略,为读者提供了一个全面而深入的理解框架。

redis7keeper的博客 163

Winform NanUI 0.77版本 读取嵌入式资源

引入NanUI框架这三个组件都要引入了,NetDimension.NanUI.AssemblyResourceHandler 是属于嵌入式资源部分,

熊思雨的博客 754

Gromacs 模拟昆虫 P450 解毒酶与农药结合完整指南,仅供参考!

🏆 本文收录于《全栈Bug调优(实战版)》专栏,致力于分享我在项目实战过程中遇到的各类Bug及其原因,并提供切实有效的解决方案。无论你是初学者还是经验丰富的开发者,本文将为你指引出一条更高效的Bug修复之路,助你早日登顶,迈向财富自由的梦想🚀!同时,欢迎大家关注、收藏、订阅本专栏,更多精彩内容正在持续更新中。让我们一起进步,Up!Up!Up!    备注: 部分问题/难题源自互联网,经过精心筛选和整理,结合数位十多年大厂实战经验资深大佬经验总结所得,数条可行方案供所需之人参考。

**My Coding Family** 1239

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

嵌入式学习DAY16 --- 1

Makefile是一个文件,文件名为Makefile/makefile。目标文件是不可执行的二进制文件,因为没有链接库,所以不能执行。make clean:执行clean规则,清空编译产生的文件。$%:如果目标是归档成员,则该变量表示目标的归档成员名称。不用-o重命名,默认生成.o文件(我们称为目标文件)$+:所有的依赖文件,以空格分开,并以出现的先后为序。:所有时间戳比目标文件晚的依赖文件,并以空格分开。生成目标文件,并将目标文件移动到obj目录中。make -C:进入制定的目录执行make。

2401_85015306的博客 1151

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

嵌入式Bootloader设计:从分区策略到安全跳转的实战指南

在嵌入式系统开发中,固件更新是产品生命周期管理的关键环节。其核心原理是通过一段预先存储在微控制器(MCU)非易失性存储器中的引导加载程序,实现系统启动控制与应用程序的现场更新。这项技术的核心价值在于,它使部署在远程或难以物理接触的设备具备了远程修复漏洞、更新功能的能力,极大地降低了维护成本,是物联网、工业控制等场景中保障设备长期可靠运行的基础设施。从工程实践角度,一个健壮的Bootloader设计需重点关注存储器的分区策略、中断向量表的重定位、以及固件传输的完整性校验。其中,Flash存储器的分区必须严格对

weixin_34326558的博客 360

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

揭秘嵌入式汇编程序的结构

嵌入式汇编程序的结构包括程序起始、指令序列和程序结束等部分,它由汇编指令、寄存器、内存、标号、符号等组成要素构成。深入了解嵌入式汇编程序的结构对于理解嵌入式系统的底层原理和开发应用具有重要意义,有助于提高系统的性能和可靠性,推动嵌入式系统的发展和应用。本文将深入探讨嵌入式汇编程序的结构及其组成要素。未来,随着硬件技术的发展和应用场景的不断扩展,嵌入式汇编程序将继续发挥着重要作用,为系统的性能和功能提供更加灵活和高效的编程支持。指令序列部分是汇编程序的核心部分,它包含了一系列的汇编指令,完成特定的功能。

2401_83379409的博客 853

嵌入式开发必须学习Qt吗?

前言嵌入式系统已经成为现代科技中不可或缺的一部分,涉及到从智能家居设备到汽车控制系统等广泛的应用领域。在嵌入式系统的开发过程中,选择适当的开发工具和框架对于提高效率、简化开发流程至关重要。嵌入式的技术栈比较冗杂,Qt只能是其中的一小部分,作为一个跨平台的C++图形用户界面库,Qt在嵌入式领域占据一席之地。但是嵌入式开发是否必须学习Qt,仍然是一个备受争议的问题。本文将从不同角度分析嵌入式开发与Qt...

一名热爱技术的工程师的博客。分享技术干货,记录美好生活。永远相信美好的事情即将发生。 1794

资源整合计划

本文整理了嵌入式开发的学习资源,包括多个官方教育平台(STM32、Microchip、ARM等)、开发者论坛(全志、21IC电子网)及实用工具(PDF翻译、TTS合成等)。推荐了7本经典书籍如《嵌入式Linux应用开发完全手册》和高质量博客(Interrupt、EmbeddedRelated)。所有资源均来自公开渠道,仅供学习参考,强调版权归属与免责声明。作者将持续更新资源,打造嵌入式开发一站式导航平台,并附个人主页链接。

m0_53440477的博客 884

【蓝桥杯嵌入式组】HAL库STM32CubeMx学习笔记一:软件安装

以蓝桥杯嵌入式组各年的考点为例,讲解HAL库STM32CubeMx的使用和客观题的答案与解析,并带有配套的例程。

weixin_46098396的博客 3592
上一篇: qemu-riscv64: could not open ‘/lib/ld-linux-riscv64-lp64d.so.1‘
下一篇: cubemx stm32 lu90614模块 人体温度检测模块 可以替代温枪 驱动代码
嵌入一下?
博客等级 码龄6年 324粉丝 66原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

嵌入一下?

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值