logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

基于VSCode搭建开源嵌入式环境的make构建工具选择

本文比较了两种Windows下的make工具配置方案:xpack-windows-build-tools和MinGW-64。两种方案都能支持Linux风格的rm -fR语法,但xpack-build-tools包含完整的Linux移植工具链(busybox、cp、rm等),与GNU Makefile语法兼容性更好。作者建议优先使用xpack-build-tools,但也可将其核心工具复制到MinG

文章图片
#vscode#ide#编辑器
VSCode+arm-none-eabi-gcc交叉编译+Makefile构建+OpenOCD(基于STM32的HAL库)

相对路径好了,到这里就解决了报错未定义库函数的问题,其实这和keil的引入源文件和包含头文件路径的思路一样,只是以前习惯了keil的UI界面包含方式,换成Makefile方式包含,终究是有点不习惯,后面有时间还是好好学习一下Makefile的语法规则吧(立个flag!最后还是要重申一遍!!!!!注意,在Makefile中,源文件是引入到具体的.c文件,头文件是包含其相对路径。

文章图片
#vscode#arm开发#stm32
ESP32-C3开发环境搭建(基于ESP-IDF插件)和解决串口占用导致程序下载失败的问题

本文详细记录了作者搭建ESP32-C3软件开发环境的过程。文章首先区分了合宙ESP32-C3经典款和简约款的硬件差异,重点分析了经典款通过CH343P芯片实现下载和串口监视功能的特点。随后详细描述了安装过程中遇到的两个主要问题:网络连接导致的下载失败和串口被占用问题,并提供了具体解决方案。作者通过禁用有线网络改用WiFi连接解决了网络问题,通过彻底卸载重装ESP-IDF环境解决了安装失败问题。文章

文章图片
#vscode#ide#编辑器
VSCode+arm-none-eabi-gcc交叉编译+CMake构建+OpenOCD(基于STM32的标准库/HAL库)

CMake简介与STM32开发环境配置 CMake是一个跨平台的构建系统生成工具,能够自动生成Makefile/Ninja等构建文件。本文介绍了CMake的三种安装方式:GitHub二进制发行版、官网下载和国内镜像。安装后需配置环境变量并通过cmake -version验证安装成功。 以STM32F103ZET6为例,文章详细说明了工程所需的配置文件,包括VSCode的settings.json、

文章图片
#vscode#stm32#单片机
在【Arduino IDE】中在线下载和离线下载【ESP系列开发板的SDK】

本文介绍了在Arduino IDE中安装ESP8266和ESP32开发板SDK的两种方法:在线和离线安装。在线安装需在首选项中添加开发板管理地址,但下载速度可能较慢;离线安装可从中文字社区下载SDK包,安装更快捷但版本可能不是最新。文章还解释了开发板管理器和库管理器的区别,前者用于管理芯片开发板的SDK,后者用于管理外设库,并指出了默认安装路径。最后提供了查看和修改库路径的方法。

文章图片
#ide#单片机#mcu +1
armcc、armclang、arm-none-eabi-gcc这3个嵌入式交叉编译工具链有什么区别?

本文对比了嵌入式开发和PC端程序开发中的主流工具链。嵌入式领域介绍了ARM公司的闭源工具链armcc(MDK5代)和armclang(MDK6代),以及开源的arm-none-eabi-gcc工具链,后者支持跨平台开发但生成文件体积较大。PC端开发领域对比了GCC(开源跨平台)、MSVC(微软闭源)和Clang(苹果基于LLVM)三大编译器。

文章图片
#arm开发
VSCode+arm-none-eabi-gcc交叉编译+Makefile构建+OpenOCD(基于STM32标准库的保姆级教程)

本文介绍了嵌入式开发常用的IDE工具,重点讲解了如何搭建基于VSCode的开源嵌入式开发环境。文章列举了Keil、IAR、VSCode等通用IDE,以及STM32CubeMX、Arduino等专用IDE,并详细说明了所需工具的安装配置步骤,包括VSCode编辑器、ARM交叉编译器arm-none-eabi-gcc和Windows平台的MinGW64工具链。作者推荐使用xPack开源仓库获取工具资源

文章图片
#vscode#stm32#单片机 +1
论C/C++的条件编译#if、#ifdef、#ifndef、#undef

本文通过两个实验演示了C语言中条件编译指令#if、#ifdef、#ifndef和#undef的使用效果。实验表明:#if仅在宏值为1时执行条件编译;#ifdef只要宏被定义(无论值为何)就执行;#ifndef则在宏未定义时执行。此外,#undef可取消已定义的宏,使后续条件编译失效。这些指令的行为类似于普通if语句,但作用于编译阶段,能有效控制代码的编译过程。

文章图片
#c语言#c++#开发语言
.vscode文件夹中各个JSON脚本需要修改的地方

本文介绍了VSCode环境下STM32开发的配置方法,重点说明tasks.json文件中OpenOCD下载配置的修改要点。文件主要包含编译、清除、重编译任务,以及三种调试器(CMSIS-DAP、ST-Link、J-Link)的下载配置。关键修改点包括:1)根据MCU型号修改target配置文件路径;2)J-Link配置需参考特定博客进行调整;3)使用${workspaceRootFolderNam

文章图片
#vscode#ide#编辑器
基于C语言的滑动平均滤波算法

【代码】基于C语言的滑动平均滤波算法。

文章图片
#算法#c语言#开发语言
    共 18 条
  • 1
  • 2
  • 请选择