- 博客(24)
- 收藏
- 关注
原创 M4跟A7-启动过程
ARM7/ARM9内核的控制器在复位后,CPU会从存储空间的绝对地址0x000000取出第一条指令执行复位中断服务程序的方式启动,即固定了复位后的起始地址为0x000000(PC = 0x000000)同时中断向量表的位置并不是固定的。而Cortex-M3内核规定,起始地址必须存放堆顶指针,而第二个地址则必须存放复位中断入口向量地址,这样在Cortex-M3内核复位后,会自动从起始地址的下一个32位空间取出复位中断入口向量,跳转执行复位中断服务程序。
2024-09-19 10:29:48 664
原创 M1卡与CPU卡
M1卡是NXP(飞利浦)公司的出品的芯片缩写,属于非接触IC卡(如校园卡、公交卡等)。存储了ID号,可读写数据,M1卡发一个数据到设备,设备再传一个数据给M1卡确认,再进行交易或身份认证,只有一个算法,可在空中盗-取信息,反复计算,算出其中算法,在复制卡,安全性比ID卡高很多,但还是能被破解。M1卡是一种射频卡,有固有的规则。注:之前用过铭特的射频M1卡,卡作为被动设备,跟设备之间采用串口通信,按照协议传输。
2024-09-10 20:04:14 382
原创 wireshark-tcp报文
用wireshark查看客户端跟服务器之间的报文,了解其业务流程。分层介绍OSI体系结构,对应wireshark报文,如下图。图片:物理层数据链路层相邻两个设备的MAC地址。网络层本层主要负责将TCP层传输下来的数据加上目标地址和源地址传输层主要关注传输层中内容,flag。
2024-08-26 00:37:37 685
原创 GD芯片替换ST芯片ADC采集异常现象
欧标大桩-主板用GD32F103VET6芯片替换原来ST32F103VET6的片子,在芯片的替换过程中,旧板子上做的驱动跟功能性测试,均正常,新板子上测试时发现采集的ADC数据出现异常,本文档是基于采集ADC数据异常做的解决方案
2023-06-11 00:08:44 32
原创 BSP-flash
主要介绍mcu-内部flash1、STM32F207VET6跟GD32F407VET6,flash的结构:包含4个16KB的扇区、1个64KB的扇区、3个128KB的扇区。块0跟块1。内部flash的起始地址:0x08000000。擦除单位:扇区。写入:字节,半字,字和双字写入。写FLASH的时候,如果发现写入地址的FLASH没有被擦除,数据将不会写入。读:可以按寻址方式读取。...
2021-10-31 22:57:36 187
原创 BSP-定时器
1.定时器GD32F407vet6,常用的定时器通用1~4,基本5/6,高级0/7。用过的功能,主从模式控制器,通道配置为可编程的PWM模式,普通的作为系统时钟用的。模式1:基本定时功能程序:`void TIM1_Init(u16 arr,u16 psc) { TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; NVIC_InitTypeDef NVIC_InitStructure; RCC_APB2PeriphClockCmd(RCC
2021-10-30 23:48:51 188
原创 GD407替代ST207-硬件I2C+DMA收发
GD407替代ST207,硬件I2C+dma收发;目前存在问题:1、发送数据时,从机收不到地址。采用硬件I2C加dma的收发,有利于程序的实时性,不会出现明显的延迟。/****************************************I2C配置 dma配置 中间层数据配置******************************************************/I2C配置程序如下:_BSPStatus_TypeDef BSP_Driver_Init(void){
2021-10-23 16:03:26 567
原创 gd407替换st207采用st库-串口空闲中断+dma收发
st采用串口3-dma收发,串口空闲中断,用来读写计量芯片RN8209DGPIO配置: void GPIO_CFG(COM_TypeDef Com){ GPIO_InitTypeDef GPIO_InitStructure; RCC_AHB1PeriphClockCmd( COM_TX_PORT_CLK[Com] | COM_RX_PORT_CLK[Com], ENABLE); GPIO_InitStructure.GPIO_Pin = COM_TX_PIN[Com]; GPIO_
2021-10-19 16:31:47 332
原创 gd407-adc-dma
时间:2021-10-04简述:芯片GD32F407VET6,用了3个adc,其中adc0跟2规则通道,adc1注入通道;规则通道采用dma接受,都是用的定时器外部触发;
2021-10-04 23:44:51 31
原创 rtt_调试
前文:项目中用到的rtt为之前别的项目,由同事裁剪过的rtt,版本:4.0.2,芯片为GD32F407VET6。1、st中移植rtt时,注意rtt的系统基准时钟,要以systick为基准时钟,st -hal的基准时钟,要用一个非systick的时钟,GD不需要,rtt可以跟GD用同一个systick为基准时钟。2、调试程序时,一启动调度器,就死机了,后来发现是中断向量表没设置,nvic_vector_table_set();3、独立看门狗一使能,程序会在版本初始化中死机,原因未知,暂时屏掉独立看门使
2021-09-24 14:46:16 36 1
原创 GPIO配置
stm32f2071、List配置**#define GPIO_MODE_INPUT 0x00000000U /*!< Input Floating Mode 输入浮动模式 */#define GPIO_MODE_OUTPUT_PP 0x00000001U /*!< Output Push Pull Mode 推挽输出模式 */
2021-09-11 18:20:10 37
原创 icf链接文件
GD450链接文件/*###ICF### Section handled by ICF editor, don't touch! ****//*-Editor annotation file-*//* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" *//*-Specials-*/define symbol __ICFEDIT_intvec_start__ = 0x08000000;/*-Memory Regi
2021-09-10 19:55:02 217
原创 rtt_源码解析
2021年09月03日:1、线程调度源码void rt_schedule(void){ rt_base_t level; struct rt_thread *to_thread; struct rt_thread *from_thread; /* disable interrupt */ level = rt_hw_interrupt_disable(); /* check the scheduler is enabled or not */
2021-09-03 16:42:15 401
原创 ec20-4G
ec20-4G联网步骤:注网:连接基站;socket:连接平台;Reset EC20 Act info-》重置EC20 Act信息EC20 info-》EC20信息SIM Card Slot info-》SIM卡槽信息SIgnal info-》信号信息Network reg info-》网络注册信息Gprs reg info-》Gprs注册信息Query opr info-》查询超载比信息Query sim ICCID-》查询sim ICCIDActivate Context-》激活上下
2021-08-17 09:56:59 223
原创 2021-07-11-gdF103替换st103
2021-07-05~2021-07-09简述:GDf103vet6替换stf103vet6一、大致修改的部分相同点:两个芯片的外围引脚PIN TO PIN兼容,每个引脚上的复用功能也完全相同;不同点:使用st的库开发时,注意事项:1、修改外部晶振起振超时时间,不用外部晶振可跳过这步,原因:GD与ST的启动时间存在差异,为了让GD MCU更准确复位。修改: 将宏定义:#define HSE_STARTUP_TIMEOUT ((uint16_t)0x0500)修改为:#define
2021-07-11 15:19:03 1010
原创 ucos-ii中断-任务调度
近几年一直在ucos-ii操作系统下做通信、应用的开发;对ucos-ii的了解一直是模模糊糊;用到哪儿就看哪儿;目前做的设备是分了几个任务在用;1)主任务(优先级12)-周期从消息队列中判断各个事件,如key-up、key-down、button-up、button-down等以及处理各个定时器接口、UI界面的绘制操作;周期为1个是个节拍;2)网卡任务(优先级13)- 周期从接受的循环队列,进行通信层数据的校验-组包-并上传给应用层进行相应的处理;周期是2个时钟节拍;3)网卡-升级任务(优先级1..
2021-03-08 23:20:25 438
原创 C语言内存
一直对C语言内存的分布,不太清楚,模模糊糊,查了一些资料,简单叙述下,以后工作中再结合工作看看; 一、IAR内存的分布,通过看生成的map文件,分三个段; 1、地址从低到高,先是代码段(有对应的地址),.主要是text(ro code)跟ro data(const只读数据);一般代码段的数据都是存储在内存的rom区,也就是flash区; 2、接下来是数据段,主要是.data(已初始化的全局变量、静态全局、局部变量)、.bss段(未初始化的全局变量或初始化为零的全局变量、静态全局、局部变量);.
2021-03-04 22:29:21 243 1
原创 STM32_I2C总线
#I2C总线介绍1、 I2C(Inter-Integrated Circuit)总线是一种由PHILIPS公司在80年代开发的两线式串行总线,用于连接微控制器及其外围设备。I2C总线最主要的优点是其简单性和有效性。由于接口直接在组件之上,因此I2C总线占用的空间非常小,减少了电路板的空间和芯片管脚的数量,降低了互联成本。总线的长度可高达25英尺,并且能够以10Kbps的最大传输速率支持40个组件...
2019-10-13 18:27:30 54
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人