- 博客(59)
- 收藏
- 关注
原创 keil stm32f207出现_sys_open 卡死问题
反汇编文件没有_sys_open文件,因为MicroLIB 是 ARM 专门为了嵌入式优化的库,用于代替 C 的标准库。/* 定义 _sys_exit() 以避免使用半主机模式 *//* 告知连接器不从C库链接使用半主机的函数 *//* 标准库需要的支持类型 */
2024-10-17 19:09:35 229
原创 keil 配置栈溢出保护(arm)
/判断这值是否被改。//任意地方调用,超过数组arr的元素。//当检测到栈溢出,跳进死循环。将r3放到 r7+20 的地方(也就是sp+20)判断是否和之前值(0xdeadbeef)相等。取8002da0 出的值。取r3+0地址的内容。
2024-10-17 00:41:09 837
原创 keil 中添加gcc编译 stmf207
指示链接器去掉不用的section(其中-wl, 表示后面的参数 --gc-sections 传递给链接器),这样就能减少最终的可执行程序的大小了。3.-fdata-sections和-ffunction-sections (1.-wl, 表示后面的参数 --gc-sections 传递给链接器(2.-mthumb的意义是:使用这个编译选项生成的目标文件是Thumb的。这里要添加链接脚本,一般可以在官方提供的固件库包找到类似的(链接规则)1.这里我用的cortex-m3,如果你是m4内核就改成4)
2024-10-16 17:04:04 886
原创 keil 报错 #268: declaration may not appear after executable statement in block
解决方法:在C/C++里勾选C99模式即可。
2024-10-15 23:21:25 152
原创 wsl 环境下,GDB 调试
安装gcc编译器 (x86 linux)#检查安装版本,看是否成功$ gcc -v#安装gdb编译器 (x86 linux)#检查安装是否成功$ gdb。
2024-09-29 20:00:33 334
原创 keil5模拟 仿真 报错没有读写权限
Parameter默认是-pSTM32F103VE。Dialog DLL默认是DARMSTM.DLL。Dialog DLL默认是DCM3.DLL。Parameter默认是-pCM3。
2024-07-03 20:12:56 365
原创 printf重定向
* 定义 _sys_exit() 以避免使用半主机模式 *//* 告知连接器不从C库链接使用半主机的函数 *//* 串口发送完成,将该字符发送 *//* 堵塞判断串口是否发送完成 *////重定向c库函数scanf到USART1。/* 等待串口输入数据 *//* 标准库需要的支持类型 */
2024-06-23 15:34:15 192
原创 读外部的nor flash,数据检验不过的问题
现象:对nor flash 最后分区1M空间写入升级文件,然后读出来数据CRC和写入数据时候CRC检验,出现不通过的现象。其他分区没问题。查找:通过对最后的1M flash空间,写入数据和读出来数据每一个数据比较,发现最后十五个扇区读出来的和写入得不一样。结论:nor flash 最后15个扇区换掉了。...
2021-11-26 12:44:40 1337
原创 nrf5340 按键功能功耗高
nrf5340的SDK GPIOE中断处理模式两种:NRF_GPIOTE_LATENCY_LOWLATENCY 导致功耗高200多uA,设置为低功耗模式:
2021-11-23 22:50:00 1139
原创 nrf 52832 黑白屏 64*128转128*64显示
由于新屏不能设置扫描方向,所以只能用软件方式转化。由下图所示:黑白屏每个像素只有0或1,所以需要每一个bit移动。oled_buf[16][64];//原始数据oled_CH1115_buf[8][128];//转化后的数据 for (uint8_t col=0; col<64; col++) { for (uint8_t row=0; row<128; row++) { // 计算 ...
2021-05-16 23:22:17 1011
原创 apollo3平台编译时错误
项目场景:apollo3 平台 在keil 编译器中编译错误问题描述:.\..\..\port\sdk\CMSIS\AmbiqMicro\Include\apollo3p.h(1435): error: #40: expected an identifier __IOM uint32_t ENABLE : 1; /*!< [0..0] Enables the FLASH cache controller and enables power...
2021-03-17 22:00:31 1064
原创 MC3630 三轴加速度传感器功耗高的问题
用nRF52832当主控,用模拟i2c与三轴传感器数据交互。每当启动i2c读写的时候,功耗突然增大。原因:模拟i2c中延时过长,根据芯片的时序图的设定即可。
2020-11-13 23:57:51 1413
原创 UWB dw1000的PA配置
1、使用PA的时候必须关闭该寄存器:寄存器ID 0x36:262、配置相关的gpio脚来控制外部的PA芯片:寄存寄存器ID:0x26:00上代码:官方的驱动代码:void dwt_setfinegraintxseq(int enable){ if (enable) { dwt_write16bitoffsetreg(PMSC_ID, PMSC_TXFINESEQ_OFFSET, PMSC_TXFINESEQ_ENABLE); } el...
2020-11-08 17:46:43 2490
原创 1.3”TFT LCD (240 x 3RGB x 240 )驱动配置
用SPI总线通讯1、模拟spi:static void LCD_GPIO_Init(void){ nrf_gpio_cfg_output(LCD_CS_PIN); nrf_gpio_pin_set(LCD_CS_PIN); nrf_gpio_cfg_output(LCD_RESET_PIN); nrf_gpio_cfg_output(LCD_DC_PIN); nrf_gpio_cfg_output(LCD_SCLK_PIN); nrf_gpio_c...
2020-10-21 23:58:35 2012
原创 nrf52840 spi 32MHz配置
#define SPIM_INSTANCE 2 /**< SPI instance index. */static nrfx_spim_t driver_spim3 = NRFX_SPIM_INSTANCE(SPIM_INSTANCE);nrfx_spim_config_t driver_spim3_config;static volatile bool spi_xfer_done;void spi_event_handler_m(nrfx_spim_evt...
2020-10-14 12:45:30 3193
原创 section “.nrf_queue“ will not fit in region `UNPLACED_SECTIONS‘
使用nordic库文件的时候在flash_placement_52840.xml中加上一段<ProgramSection alignment="4" load="Yes" name=".nrf_queue" />
2020-09-18 17:26:58 1473 1
原创 LWIP 2.1.2 移植ST ping 不通
ST默认配置了硬件检查校验和(lwipopt.h),lwip 默认了软件检查校验和,在opt.h中#define CHECKSUM_GEN_ICMP 1 表示软件检查,在opt.h中#define CHECKSUM_GEN_ICMP 0//1改为为0,或者在lwipopt.h中加上#define CHECKSUM_GEN_ICMP 0#define CHECKSUM_BY_HARDWARE...
2020-06-10 12:00:17 2663
原创 嵌套中断向量的控制器(NVIC )
1.设置中断向量优先级分组(主次优先级)NVIC_PriorityGroupConfig(NVIC_PriorityGroup_0); //中断向量优先级配置ST的注释:那一组代表了什么样的主次优先级排位,比如:第0组,主优先级0位,次优先级4位表示16种级别,那就是第一优先级无效。在STM32F20xxx Cortex-M3 编程手册中找到了定义:2.设置中断向量的主次优先级:中断优先级的寄存器表,STM32F207有81个中断,每组的中断的优先级用八位表示。每个寄存器
2020-06-09 15:55:46 2018
原创 打开LWIP_DEBUG的打印信息调试
在lwip 2.1.2的版本,打开的debug 调试的步骤:1.在debug.h 文件中找到debug打印的定义默认LWIP_DEBUG这个宏没有定义,2.在lwipopt.h 文件中或者其他文件定义 一下LWIP_DEBUG这个宏,3.在opt.h 中可以打开各种宏的调试信息,/* --------------------------------------- ---------- Debugging options ---------- ---------...
2020-05-26 09:39:05 8551 2
原创 简单记录ble5.2的系统架构
单挑模式:An implementation of the Bluetooth Core has only one Primary Controllerwhich may be one of the following configurations:• a BR/EDR Controller including the Radio, Baseband, Link Manager andoptionally HCI.• an LE Controller including the LE PHY,
2020-05-12 17:46:20 2093
原创 STM32F207VET+DP83848PHY驱动移植的笔记
STM32F207VET芯片有MAC控制器,外接PHY就可以实现网络通讯。到ST官网找到网络的例程:https://www.st.com/content/st_com/en/products/embedded-software/mcu-mpu-embedded-software/stm32-embedded-software/stm32-standard-peripheral-library-ex...
2020-04-30 17:00:48 2394
原创 nordic 从机更新主机的连接参数
当ble之间连接的时候,从机有一个参数更新请求的包主动向主机发送:这里以nordic的nRF5_SDK_12.3.0版本的SDK为例,看看如何更新了主机的参数。1、连接更新参数的初始化:这里连接参数设置为空,因为之前参数已经设置过,只要获取保存到变量给后面需要的时候用就好了。创建一个定时器,这样设置工作完成了。2、当有连接事件是时候,通过handle协商要不要发送...
2020-01-03 18:33:31 1471
原创 ble core4.0、core4.2、core5.0连接间隔,延时包数,连接超时描述
下面是连接间隔,延时包数,连接超时各自文档的描述:core4.0规范:core4.2规范:core5.0规范:SupervisionTimeout 还有一个条件:满足这个公式 :SupervisionTimeout >(1+connSlaveLatency)*(connInterval) ,这个interval 是max interv...
2019-12-26 18:33:48 1358
原创 nrf52832 mesh第一个程序,light_switch功能示例
nordic官网的Mesh SDK的网址:https://www.nordicsemi.com/Software-and-tools/Software/nRF5-SDK-for-Mesh/Download#infotabs先下载Mesh SDK,这里以nrf5_SDK_for_Mesh_v3.2.0_src为例,因为Mesh协议在ble的基础上完成通讯,所以下载与之匹配的ble的SDK(v...
2019-12-13 18:49:21 4814 2
原创 segger embedded studio 环境搭建(Windows)
segger embedded studio是segger公司新开发的嵌入式编译器环境(IDE)。Nordic 的SDK往后的只更新项目工程到segger embedded studio开发环境,keil和IAR不再支持。下载地址:https://www.segger.com/downloads/embedded-studio出现需要license的弹框,选择Get a Free Li...
2019-12-06 15:42:47 8373
原创 AT指令修改蓝牙(从机)多连接个数
首先实现蓝牙(从机)多连接功能,找到支持4.2ble的SDK以及协议找。这个以sdk15.0.0和协议栈6.0.0为例。1、接收修改从机连接个数的AT指令,用fds来储存(掉电不丢失):if ( memcmp(pBuffer, "AT+SLAVE=", 10)==0){ memset(strTemp, 0 , sizeof(strTemp)); ...
2019-12-02 11:59:37 1643
原创 stm32 同步NTP服务器的时间
首先找一个可用的ntp服务器,这里以阿里的ntp服务器为例:ntp1.aliyun.com。把域名的ip解析出来:因为ntp服务器是udp协议,ip:120.25.115.20 端口号:123,格式是接收48个字节,第一个字节以0xa3(版本4)、0x1b,(版本3)、0x13(版本2)、0x0b(版本1),返回的数据中带有时间。ntp协议的报文格式:...
2019-10-25 11:33:31 6820 1
原创 dialog 开发环境的搭建
以dialog官方的开发板为例(da14695-development-kit-usb):登录dialog官网下载相关的资料(https://www.dialog-semiconductor.com/products/da1469x-product-family)SDK:开发工具:打开编译工具:导入文件:选择SDK的源文件,并选择一个例程(因为其他例程没...
2019-07-25 18:09:56 2040 2
原创 nordic nRF52832 多主一从的最大的连接数配置
支持一主多从的协议栈:s132_nrf52_6.0.0_softdevice.hex;SDk:nRF5_SDK_15.0.0_a53641a1、打开sdk_config.h配置为最大的连接数20// <o> NRF_SDH_BLE_PERIPHERAL_LINK_COUNT - Maximum number of peripheral links.#ifndef NRF_S...
2019-04-16 16:42:42 5518
原创 nRF51822和nRF52832 广播功率设置
1、nRF51822 广播包的设置(SDK12.3.0):/**@brief Set the radio's transmit power.** @param[in] tx_power Radio transmit power in dBm (accepted values are -40, -30, -20, -16, -12, -8, -4, 0, and 4 dBm).*...
2019-04-11 11:43:30 3466
原创 golang IDE工具:goland安装和一个程序的运行
安装包的下载地址:https://www.jetbrains.com/go/download/#section=windows安装完之后,创建一个项目工程:主要的配置项: 1、选择运行方式文件形式:Directory:当前项目工程下源文件的路径E:\work\golang\awesomeProject\src\hell(awesome...
2019-04-03 20:45:12 4534
原创 golang 语言环境安装
安装包的链接地址:https://golang.google.cn/dl/不同平台的安装的包:以Windows环境为例:安装完成后,如果系统没有自动完成环境变量的配置就手动配置环境变量在控制台敲go version,可以查询版本,说明安装成功敲go env查询一些配置信息:用记事本编译一个文件hellworld.go控制台运行:...
2019-04-03 20:02:17 134
原创 nordic dfu 功能工具和生成步骤
软件工具:gcc-arm-none-eabi-4_9-2015q3 编译工具链MinGW GNU工具链导入库的集合micro-ecc Nordic DFU采用了micro-ecc实现ECDSA算法,需要micro-ecc源码pc-nrfutil ...
2019-03-22 14:07:03 1365
原创 nordicSDK15 dfu编译库的时候出错
nordic dfu功能的需要micro-ecc库文件,编译SDK12正常通过,编译SDK15时候报错工具链找不到,路径和系统环境变量都是对的,根据提示找到Makefile.windows这个文件,加多了一斜杆,编译通过:...
2019-03-04 17:47:45 248
原创 nrf52832 SEGGER RTT_LOG 和 printf
1,jlink segger RTT LOG 打印:添加相关的文件:配置文件sdk_config.h打开相关的宏,不同的版本的SDK宏定义不同:#ifndef NRF_LOG_ENABLED#define NRF_LOG_ENABLED 1...#endifnRF5_SDK_12.3.0_d7731ad的宏定义:#ifndef NRF_LOG_BACKE...
2019-02-28 20:19:52 3058
原创 STM32F030C6 IAP功能APP中断向量表重映射
1、IAP中断向量表重映射1.1、Coretext-M3与Coretext-M4: SCB->VTOR = 0X08000000|0X20000; __set_PRIMASK(0);在System Control Block中存在一个向量表偏移量寄存器 VTOR(0xE000ED08),系统产生中断后,内核通过这个寄存器的值来找到中断向量表的地址,进而执行中断例程代码...
2019-01-25 17:41:03 3521
原创 4.0动态改变广播
基于SDK :nRF5_SDK_12.1.0_0d23e2a 协议栈:s132_nrf52_3.0.0_softdevice官网的下载地址: https://www.nordicsemi.com/Software-and-Tools/Software/nRF5-SDK/Download#infotabs一、广播的流程:main函数中:advertising_init()...
2018-12-10 17:39:28 311
原创 蓝牙广播包和扫描回应包的数据格式
一、广播和扫描回应的数据格式:参考文档:Bluetooth Core Specification(v4.0):Vol. 3, Part C, section 8 and sections 11.and 18. 用户定义广播包和扫描回应包最多能有31个字节,每个包分为有效数据和无效数数两部分。1.有效数据部分,由若干个AD Structure单元组成 ◆Length:表示D...
2018-11-22 18:05:29 12422
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人