自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(63)
  • 资源 (1)
  • 收藏
  • 关注

原创 第2章 编译SDK

编译打包完成后会在 rockdev 目录下生成 update.img。在./build.sh all的基础上增加打包。完成后会生成rk356x_amp 文件夹。将SDK压缩包拷贝到ubuntu。

2024-07-26 22:00:00 243

原创 修改启动方案

用vscode打开设备树文件rk3568-evb1-ddr4-v10-linux-amp.dts修改。用vscode打开its 配置文件rk3568_amp_linux.its文件修改。AMP设置为1Linux(CPU0) +3HAL(CPU1、 2、 3) 配置。

2024-07-26 22:00:00 180

原创 搭建开发环境

默认情况下,“write_enable=YES”前面有一个“#”号,我们需要将其去掉,使能该配置。新安装的ubuntu没有设置 root 用户密码,打开终端,输入。1、Ubuntu 系统设置 root 用户密码。3、Ubuntu 系统下搭建 FTP 服务器。4、Ubuntu 系统搭建 ssh 服务器。2、虚拟机设置网络适配器。执行命令后依次输入密码。

2024-07-23 22:00:00 256

原创 了解PHY,MAC芯片

PHY在发送数据的时候,收到MAC过来的数据(对PHY来说,没有帧的概念,对它来说,都是数据而不管什么地址,数据还是CRC),每4bit就增加1bit的检错码,然后把并行数据转化为串行流数据,再按照物理层的编码规则把数据编码,再变为模拟信号把数据送出去。(Gigabit MII): GMII 接口向下兼容 MII 接口, 支持 10Mbps、 100Mbps 和 1000Mbps 的操作,数据位宽为 8 位。在 1000Mbps 传输速率下,时钟频率为 125Mhz,在时钟的上下沿同时采样数据。

2024-07-18 22:00:00 1291

原创 单片机外围设备-EEPROM

eeprom驱动

2024-07-16 23:00:00 308 1

原创 MIMXRT1064驱动-ADC

MIMXRT1064DVL6A驱动ADC。

2024-07-16 22:00:00 101

原创 MIMXRT1064驱动-timer

MIMXRT1064驱动-timer。

2024-07-16 22:00:00 109

原创 stm32f103zet6笔记1-led工程

1、选择串口调试2、LED0连接到PB5,PB5设置为推挽输出。PE5同理。3、生成成对的.c,.h文件。4、debugger选择j-link。5、connection选择SWD。6、编写bsp_led.c,bsp_led.h文件。7、下载调试,可以看到LED0 500ms闪烁一次,LED1 1000ms闪烁一次。

2024-03-04 20:00:00 431

原创 VSCode

File - preference - settings - extensions - run code configration,将“Run Code Configuration”中的“Run In Terminal"、"Save File Before Run"前面的复选框选中。1.1 安装MinGW并将MinGW的bin路径添加到系统环境变量。1.4vscode安装Code Runner插件。1.3vscode安装C/C++插件。2、设置只搜索.c.h文件。1.2按照vscode。

2024-02-28 09:51:49 943

原创 linux总线设备驱动框架

驱动也会向总线告知自己能够支持的设备的条件(一般是型号ID等,最简单的也可以是设备的名字)。在驱动注册的时候,总线也会遍历注册在其之上的设备,找到其支持的设备(可以是多个,驱动和设备的关系是1:N),并将设备填入驱动的支持列表中。match之后,设备和驱动之间的交互与总线无关。设备会向总线提出自己对驱动的条件(最简单的也是最精确的就是指定对方的名字了),总线就会遍历注册在它上面的驱动,找到最适合这个设备的驱动,然后填入设备的结构成员中。驱动和设备的关系是一对多。驱动和设备都要注册到总线上。

2024-02-28 09:29:54 372

原创 RT-Thread设备驱动框架

I/O设备是input/output设备,串口,定时器,adc,i2c,spi,flash,SD,USB等都是I/O设备。

2024-02-28 09:23:01 450

原创 RT-Thread串口设备开发

【代码】RT-Thread串口设备开发。

2024-02-28 09:22:13 373

原创 RT-Thread PIN设备驱动框架

2、设备驱动框架层定义的PIN设备操作方法如下:2.1 pin_get接口厂商对引脚的定义一般是PA0,PE15,P10,P415等。为了兼容各个硬件平台,设计pin_get函数,该函数的作用是给每个引脚用数字编号,从0开始。比如针对STM32,pin_get函数使PA0-PA15的值为0-15,PB0-PB15的值是16-31,这样各个引脚经过pin_get调用后都返回1个唯一的编号。类似编码的过程。设置引脚接口。有个参数是pin,那么这个函数需要解码,假设pin=0,则需要解析出是对PA0进行操作

2024-02-28 09:21:36 310

原创 RT-Thread内核对象

RT-Thread 内核采用面向对象的设计思想进行设计,内核对象包括:线程,信号量,互斥量,事件,邮箱,消息队列和定时器,内存池,设备驱动等种类。RT-Thread 通过对象容器来管理所有内核对象。对象容器中包含了每类内核对象的信息,包括对象类型,大小等。对象容器给每类内核对象分配了一个链表,该类的内核对象都被链接到该链表上。

2024-02-28 09:21:00 431

原创 IAR使用笔记

view-source browser-source browser操作一遍。

2024-02-28 09:20:26 407

原创 rt-thread led实验

【代码】rt-thread led实验。

2024-02-28 09:19:45 388

原创 C语言打印文件名、函数名、行号、时间信息

_FUNCTION__ or __func__:函数名(字符串)__LINE__:当前打印函数所在的行号(整型数据)__DATE__:当前日期(和系统有关,是字符串)__TIME__:实时时间(字符串)1. 标准库中一些特殊的宏。__FILE__:文件名(

2024-02-28 09:14:27 856

原创 C语言-常用函数

5、取较小值,较大值。

2024-02-28 09:13:18 329

原创 结构体位域保存传感器数据

8个74HC4052共用两个选通引脚,8个输入引脚,一共可以检测64个数字红外传感器。74HC4052的功能表如下,nY0表示所有Y0引脚。产品有64个数字红外传感器,传感器的状态有两种,0或1,使用结构体位域,在节省内存的同时还方便阅读。这个定义在中间层,应用层调用中间层,驱动层负责获取传感器的状态并赋值给这个结构体。

2024-02-28 09:07:39 365

原创 字符的编码方式

例如fontdata_8x16,表示横坐标8个像素,纵坐标16个像素。对于1个字符,用16个字节表示,每个字节对应1行的8个像素点,为1的位表示点亮,0表示熄灭。用2个字节对所有字符编码。ANSI的数值和字符不一一对应。不同的地区有不同的字符集,不同的字符集对同一个编码值显示出不同的字符。用1个字节对字母、标点符号等字符进行编码,每个字符有一个唯一的数值。由于常用的字符不超过127个,所以用1个字节来编码足够了。用3个字节来编码,对所有字符统一编码,一个码值对应一个字符。4、ASCII字符的点阵显示。

2024-02-28 09:06:42 434

原创 大小端模式

超过1字节的数据在内存中存放方式有两种,大端模式和小端模式。大端模式:数据的高字节存放在低地址,低字节存放在高地址小端模式:数据的高字节放在高地址,低字节放在低地址。这里的所说的数据都是超过8位的。大小端模式和处理器、编译器都有关系。ARM芯片都是小端模式。keil c51是大端模式。

2024-02-28 09:02:41 363

原创 单片机调试经验

1、ADC采样时钟小一点,采样周期大一点,adc的转换结果就稳定一点。另外AD采集引脚要有电容接地,作用是滤波,一般是0.01uF。2、PWM驱动三极管再驱动背光LED,频率1k左右即可,频率太快三极管反应不过来。3、锂电池:一般3.5V低电报警。3.4V进入低电保护,只能充电唤醒。

2024-02-28 08:58:59 318

原创 N32G455VE开发笔记一-JLink添加芯片

产品用到N32G455VE,JLink版本是JLink_V644g,没有该芯片,需要添加。用到的资料由厂家提供。所有芯片配置的内容复制到安装路径下的。需要添加的国民技术芯片型号文件。解锁读保护应用程序所需的配置文件。解锁国民技术芯片读保护。文档末尾,点击保存。

2024-02-28 08:44:05 919

原创 C语言-指针

【代码】C语言-指针。

2024-02-27 18:50:17 335

原创 C语言-数组

sizeof(a[0]输出的是数组元素a[0]的大小。sizeof(a)输出的是指针类型的大小。1、数组做函数形参时,数组名是指针。

2024-02-27 18:48:53 379

原创 大厂C语言编程规范总结

1.2、头文件尽量少包含其他头文件,在.c文件包含,不将头文件集中放置在include.h且每个.c文件都包含include.h。等的定义和声明都放置在.c文件,且加static修饰,对外的将声明放置在.h文件。采用动词+名词的结构,使用小写字母,单词间使用下划线分隔开。使用unix风格,单词用小写字母,字母间使用下划线分隔开。1.3、防止头文件被重复包含,格式是FILENAME_H。3.1、多条语句的宏定义用do-while(0)语句。全局变量使用前缀g_,静态变量使用前缀s_1.1、模块内部使用的。

2024-02-27 18:47:40 362

原创 C语言知识点

1、break只能跳出本层循环,如果循环是嵌套的,要逐层跳出,想要全部跳出可以用return。2、continue是跳过当前循环中continue语句后的语句,进行下一次循环条件的判断。3、int (*a)[10]:a是一个指针,指向的类型是int [10]inta[10]: 数组符号比指针符号优先级高,a是一个数组,该数组的元素是int类型int (a[10])(int) a是一个数组,数组元素是int()(int)类型,即是指向函数的指针4、*p++先取值,再加1。

2024-02-27 18:47:11 370

原创 FreeRTOS队列

在阻塞期间,函数会将当前任务挂起,并添加到等待发送队列中,然后解锁队列并恢复调度器。读队列阻塞:读队列时,队列为空,则可以设置阻塞时间,该任务进入阻塞态,队列不为空时自动由阻塞态进入就绪态,超时也由阻塞态进入就绪态。如果满足条件,将数据复制到队列中。队列通常采用先进先出的方式,即FIFO,从队列尾部入队,从队列头部出队。总之,xQueueGenericSend函数用于向队列发送数据,并提供了阻塞和非阻塞的操作方式,以及对任务切换的支持。队列类型有普通队列,二值信号量队列,计数信号量队列,互斥信号量队列等。

2024-02-27 18:37:23 855

原创 MIMXRT1064DVL6A开发笔记五-XIP原理

启动IDE调试时,预先放在IDE里的Flash下载算法(可执行文件)会首先通过调试器下载到i.MXRT内部FlexRAM中运行,并完成FlexSPI外设初始化和应用程序下载工作(将应用程序可执行文件下载进串行Flash中),应用程序下载完成之后,便由CoreSight开始接管调试工作,此时CPU已经可以通过AHB总线访问挂在FlexSPI外设上的串行Flash里的代码,所以CoreSight当然可以完成实时代码运行控制与跟踪,你在IDE里也就可以进行单步调试啦。ASB是AHB的一种替代方案。

2024-02-26 10:02:19 9

原创 MIMXRT1064DVL6A开发笔记一-认识1064

1064内部flash大小是4M,RAM是1M。

2024-02-26 10:00:42 9

原创 MIMXRT1064DVL6A开发笔记二-bootloader

产品需要开发Bootloader功能。查了相关的资料总结如下。

2024-02-26 10:00:15 256

原创 MIMXRT1064DVL6A开发笔记三-ADC_ETC

4、配置ETC_TRIG Chain x Register,在SDK中通过adc_etc_trigger_config_t结构体,ADC_ETC_SetTriggerChainConfig函数来设置。3、配置ETC_TRIGX Control Register,在SDK中通过adc_etc_trigger_config_t结构体,ADC_ETC_SetTriggerConfig函数来设置。Queue0/1/2/3分别由TRIG0/1/2/3触发,Queue4/5/6/7分别由TRIG4/5/6/7触发。

2024-02-26 09:59:49 259

原创 MIMXRT1064DVL6A开发笔记四-icf文件

4M片上flash,接到flexspi2,地址范围是 0x7000 0000 - 0x703F FFFF。

2024-02-26 09:59:11 195

原创 N32G430C8开发笔记二-UART驱动开发

E:\tfs\data\smartsafe\N32G430\Nations.N32G430_Library.1.0.0\projects\n32g430_EVAL\examples\USART\Interrupt开发uart1和uart3驱动。Uart1_tx引脚使用PA9,重映射使用AF5,Uart1_rx引脚使用PA10,重映射使用AF5,Uart3_tx引脚使用PB10,重映射使用AF10,Uart3_Rx引脚使用PB11,重映射使用AF10。配置IO的复用功能为UART。4、uart中断响应函数。

2024-01-24 21:00:00 637

原创 N32G430C8开发笔记一-新建IAR工程

如果没有这款芯片,则先安装IAR的芯片支持包。E:\tfs\data\smartsafe\N32G430\6.软件开发套件\PACK\PACK\N32G430 PACK AddOn to IAR Tool V1.0.0。这个芯片没有浮点数运算单元,选择NONE。根据原厂SDK的文件结构在IAR新建相应分组,把各个文件夹的文件加载进去,其中startup文件选择IAR平台的startup_n32g430_EWARM.s。1、新建工程,保存到project文件夹。3、添加头文件路径,选择相对路径。

2024-01-24 16:55:52 569

原创 ringbuffer+log方式的调试串口

调试串口使用查询方式发送,发送buffer采用环形buffer,打印信息包含文件,函数名和行数。可以在中断中打印调试信息。

2024-01-02 21:00:00 725

原创 适用于单片机的ringbuffer

附件是源码。

2023-12-29 21:00:00 376

原创 使用DWT实现us级延时

它有一个32位的寄存器叫CYCCNT,它是一个向上的计数器,记录的是内核时钟运行的个数,内核时钟跳动一次,该计数器就加1,精度非常高。Cortex-M3,M4,M7内核有一个外设叫DWT(Data Watchpoint and Trace),用于系统调试及跟踪。1、使能DWT外设,由内核调试寄存器DEMCR的位24控制,写1使能。2、使能DWT的CYCCNT计数器,由DWT->CTRL的bit0控制。当CYCCNT溢出之后,会清0重新开始向上计数。3、获取计数值DWT_CYCCNT。

2023-11-15 21:00:00 135

原创 SPI调试记录

两个MCU通过spi通信。N32G455VE是主机,MIMXRT1064是从机。业务流程由从机发起,当从机需要发起业务时,通过1个外部中断引脚通知主机,由主机发起spi通信。N32G455VE使用SPI2,GPIOD2。DMA1 channel5中断响应。DMA1 channel4中断响应。GPIOD2设置为外部中断输入引脚。SPI2 DMA发送配置。SPI2 DMA接收配置。

2023-10-07 18:59:08 126

原创 软件版本号定义在flash固定地址

编译发现版本号没有编译进bin文件,经排查,原因是bootVer未使用,被编译器优化,编译器是IAR。在main中加入下面代码,编译后在bin文件的 0x0800FFE0 地址处看到软件版本号。bootloader的软件版本定义在0x0800FFE0。MCU是N32G455VE,bootloader地址是。

2023-08-30 18:58:32 138

MIMXRT1064驱动-timer

MIMXRT1064驱动-timer

2024-07-16

MIMXRT1064驱动-ADC

MIMXRT1064驱动-ADC

2024-07-16

资源名称:bsp-led源文件

资源名称:bsp-led源文件

2024-03-04

资源名称:bsp-led头文件

资源名称:bsp-led头文件

2024-03-04

DAC5347驱动源码

DAC5347驱动源码

2024-02-20

MIMXRT1064DVL6A软件开发笔记

MIMXRT1064DVL6A软件开发笔记

2024-01-03

ringbuffer+log方式的调试串口

ringbuffer+log方式的调试串口

2024-01-02

ringbuffer+log方式的调试串口

ringbuffer+log方式的调试串口

2024-01-02

ringbuffer+log方式的调试串口

ringbuffer+log方式的调试串口

2024-01-02

适用于单片机的ringbuffer

适用于单片机的ringbuffer

2023-12-29

适用于单片机的ringbuffer

适用于单片机的ringbuffer

2023-12-29

source insight4.0

source insight4.0

2023-08-22

source insight4.0

source insight4.0

2023-08-22

RT-Thread PIN设备驱动框架

RT-Thread PIN设备驱动框架

2023-07-13

IAR 注册机

IAR FOR MSP4300注册机,可用于EW430 7111,分享给需要的朋友使用。

2018-06-27

空空如也

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

TA关注的人

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