自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(8)
  • 收藏
  • 关注

原创 【stm32】【KEIL】【单片机】【C++ 】 嵌入式开发事半功倍

(废)话多不表,开整!.cpp(c++源文件)和.hpp(c++头文件)只做和C++有关的,.c(c源文件)和.h(c头文件)只做和C有关的。.h文件:最不可思议的就是这个头文件了,所做的事就是把用c++写的对外函数的接口用extern“引用”,如果其他.c文件中的函数要调用c++写的接口,只需要包含这个头文件就可以了。.hpp文件:类的声明,c语言头文件的引用(要加extern "C",看图)以及用c++写的对外函数的接口的声明(要加extern "C",看图)不管不管就不管,我就要用c++开发!

2024-06-18 13:05:35 623

原创 将关键代码和数据段定位到特定DTCM-RAM/ITCM-RAM中【STM32F767】

首先查看用到的XXX-RAM的映射地址,其中主SRAM映射的起始地址从0x20020000开始,大小368kb,TCM-RAM起始地址0x20000000,ITCM-RAM起始地址0x00000000。具体能带来多大的优势,没有查询,但是不经过其他协议直接与CPU交流,效果应该非常好!目的:将关键数据重定位到DTCM-RAM,关键代码段重定位到ITCM-RAM中,SRAM1作为主SRAM。说明:散列文件的语法以及AC6和AC5区别自行查资料(推荐硬汉论坛,如有哪里不正确的地方,有问题可以留言交流!

2024-06-15 23:33:42 540

原创 史上最简单的bootloader【STM32F767】[【二】

2)没什么大用处,主要是学习---->看资料说是代码在sram中运行会快一点,本人没有测试过。那些不明白的地方,如果哪天搞明白了,会在文中更新,同时也希望有知道的大佬能留言指导下小弟!学习过程有点曲折,虽然实验现象符合预期,还是有很多不明白的地方,话多不表,开始!任务:bootloader不变,app自我复制,将app搬运到sram中运行。至此,通过app的自我复制,将代码搬运到sram中运行功能就实现了!启动文件改动的地方比较多,里面有很多不太明白的地方!散列文件改动了一点,一个一个说明!

2024-06-15 14:19:55 433

原创 史上最简单的bootloader【STM32F767】

首先就是外部SystemInit()(C语言实现,关于stm32内部环境初始化等等),然后再跳到__main(),__main()是运行环境(keil自带的)的初始化,然后再跳到main()(自己实现)执行。1)单片机上电开始,并不是从main()函数直接运行,而是从单片机的内核开始,经过一些初始化再跳到main()运行。1)因为不需要初始化外设,启动文件去掉了系统初始化和mdk初始化的代码,直接跳到app的入口地址,也就是mymain()4)boot工程main()函数的实现。2)app的散列文件。

2024-06-11 17:38:09 211 1

原创 stm32cubemx 配置使用sdram

后来查资料,是因为用stm32cubemx配置(stm32f767)默认开启了内存保护模式模式,于是就尝试把内存保护模式关闭,果然能正常使用了!今天突发奇想,将代码搬运到外挂的SDRAM运行!查了各种资料,确定是可以的!但是要先把SDRAM调试好,再想下一步!配置好以后,代码出问题了,debug的时候,发现进入里面。2 在SDRAM配置里面,写保护也要关掉,其他参数按照自己的配置和SDRAM参数填进去就行了。其中2号框可打开可不打开,还没研究有什么影响,但是我测试了,SDRAM都是可以正常用的。

2024-06-09 00:17:55 157 1

原创 STM32 TIM定时器 输出比较模式遇到的坑

按照网上的教程也能实现PWM波的输出,占空比和频率都符合预期。但是当波形时间拉长以后,就会出现ARR周期的高电平或者低电平,定位了好久。图中红框CCR的值超过ARR的值了,目前用注释掉的代码测试,现象是没了,但是长时间运行会不会有问题不确定。出现问题的原因很简单:比较寄存器超出ARR设定的值了;这两天在学习STM32 TIM定时器。此时ARR设定的值是6000。

2024-06-07 10:38:39 266

原创 学习设备树插件遇到的坑

野火和讯为两家的资料都没提到这些,希望两家相关工作人员看到此篇博客在自家资料里面,关于设备树插件命名规则添加说明(注意事项)。有被坑到,耽误了将近2消失,希望对遇到的同学有用!我自己的命名格式xxx.dts,也就是说需要在设备树插件文件名加上-overlay,比如myled-overlay.dts。编译结果出现:needed by '__build'. Stop.设备树插件名称格式 xxx-overlay.dts。

2024-04-20 22:33:03 208

原创 记录编译arm-Linux内核编译时遇到的坑 -> multiple definition of ‘yylloc‘

两个方法都用了,scripts/dtc/dtc-lexer-lex.c中(原)YYLTYPE yylloc,修改成extern YYLTYPE yylloc,编译时extern YYLTYPE yylloc又会变成scripts/dtc/dtc-lexer-lex.c。既然改不了scripts/dtc/dtc-lexer-lex.c的YYLTYPE yylloc,就把其他文件中的YYLTYPE yylloc 修改成extern YYLTYPE yylloc,顺利编译通过。

2024-04-19 08:51:56 304

空空如也

空空如也

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

TA关注的人

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