MCU:STM32F103VET6 开发环境:STM32CubeMX+MDK5   实现USB的虚拟串口不需要去理解USB的底层驱动,只需要STM32CubeMX去配置生成工程即可。在野火的指南者中,是没有这一类的视频和示例的,博主使用这款开发板实现USB虚拟串口。 首先需要打开STM32CubeMX工具。输入开发板MCU对应型号,找到开发板对应封装的MCU型号,双击打开(图中第三)。   此时,双击完后会关闭此界面,然后打开一个新界面。   然后,我们开始基本配置。   现在我们选择一个LED作为系统LED,该步骤可以忽略,只是...

  RRrlTBTeGkgo   2023年11月01日   45   0   0 嵌入式

MCU:STM32F429ZIT6 开发环境:STM32CubeMX+MDK5   外购了一个SPI接口的SDCard模块,想要实现SD卡存储数据的功能。 首先需要打开STM32CubeMX工具。输入开发板MCU对应型号,找到开发板对应封装的MCU型号,双击打开(图中第三)。   此时,双击完后会关闭此界面,然后打开一个新界面。   然后,我们开始基本配置。   现在我们选择一个LED作为系统LED,该步骤可以忽略,只是本人喜欢这样子。以硬件原理图的LD3为例子。   基本配置除了时钟树外,基本上已经配置好了。 现...

  RRrlTBTeGkgo   2023年11月01日   68   0   0 嵌入式

  参考帖子:https://blog.csdn.net/freedompoi/article/details/122350866 目前想要实现STM32F4自带的DMA双缓冲区,尝试过一版,结果不能预期,就使用了RxHalfCplt和RxCplt去实现DMA双缓冲区的效果。 现在有时间了,又重新实现STM32F4自带的DMA双缓冲区,作为参考。   MCU:STM32F429ZIT6 开发环境:STM32CubeMX+MDK5   此时,双击完后会关闭此界面,然后打开一个新界面。   然后,我们开始基本配置。   现在我们选...

  RRrlTBTeGkgo   2023年11月01日   62   0   0 嵌入式

    功能 设计一个传送带系统,能够实现传送带的开始/停止,正转/反转,加/减速,对传送带的物品计数。 按钮/app功能控制,oled屏幕/app显示。   设计框图   原理图   软件构建阶段 利用STM32CubeMX生成模板 MCU选型:STM32F103C8T6,双击打开。 StstemCore->SYS:SerialWire。TimebaseSource:TIM1(供Freertos实时操作系统使用)。 StstemCore->RCC:HSE、LSE--Crystal/CeramicResonator(不考虑...

  RRrlTBTeGkgo   2023年11月01日   53   0   0 嵌入式

进程函数 简单描述一下关于进程的函数,主要有fork调用、exec调用、exit调用、wait调用和sleep调用。 fork调用 所需头文件 include<unistd.h>    //标准函数库 include<sys/types.h>  //提供系统调用的标志 函数原型 pid_tfork(void);  //创建子进程时,复制父进程上下文 pid_tvfork(void);  //创建子进程时,不复制父进程上下文 返回值 成功:返回两个值。子进程返回0,父进程返回子进程ID。 失败:-1 fork函数是Unix/Linux操作系统中用于...

  RRrlTBTeGkgo   2023年11月01日   91   0   0 Linux

现代内核派系 宏内核 关键功能(基本功能,不可裁剪、扩展)和服务功能(如文件系统、设备驱动、网络服务等,可裁剪、扩展)均在内核空间提供。运行效率高。扩展性较差。systemcall(系统调用)能够先入内核态来使用内核提供的服务。 微内核 内核空间只提供关键功能,服务功能在用户空间提供。运行效率较低。安全性、扩展性较高。 在Linux内核源码中有超过50%的代码都与设备驱动相关。Linux为宏内核架构(windows、鸿蒙等为微内核架构),如果开启所有的功能,内核就会变得十分臃肿。内核模块实现了某个功能的一段内核代码,在内核运行过程,可以加载这部分代码到内核,从而动态地增加了内核的功能...

  RRrlTBTeGkgo   2023年11月01日   74   0   0 Linux

屏蔽驱动打印信息 root权限:echo"1417">/proc/sys/kernel/printk sudosh-c"sudoecho"1417" >/proc/sys/kernel/printk   实现触摸屏校验 第一次进入Linux系统时,会出现触摸校验提示,按提示校准5个点就可以了。 如果想重新校验,需进入root权限执行操作。 rm/etc/pointercal(删除校准文件) reboot(重启开发板) 此时就可以重新校验触摸屏了   开发板连接WIFI SD卡和WIFI共用同一SDIO接口(需注意跳线帽的连接),cat/etc/...

  RRrlTBTeGkgo   2023年11月01日   110   0   0 Linux

设计字符设备 文件系统调用系统IO的内核处理过程 inode索引节点是文件系统中的一种数据结构,用于存储文件的元数据信息,包括文件的大小、访问权限、创建时间、修改时间等。每个文件在文件系统中都对应着一个唯一的inode节点,通过inode节点可以查找到文件的实际数据块的位置。inode节点通常存储在磁盘的inode表中,文件系统通过inode号来访问和管理文件。 file_operation结构体是函数指针表,用于定义文件的操作方法。当应用程序通过文件描述符打开文件时,内核会根据文件描述符找到对应的inode节点,并获取与inode节点关联的file_operation表。通过file_op...

  RRrlTBTeGkgo   2023年11月01日   48   0   0 Linux

为什么需要设备驱动模型 内核版本发展 2.4版本之前内核没有统一的设备驱动模型,但是可以用(例如先前的led字符设备驱动实验,使用前需要手动调用mknod命令创建设备文件,从而进一步控制硬件)。 2.42.6版本内核使用devfs,挂载在/dev目录。需要在内核驱动中创建设备文件(调用devfs_register创建设备文件,无需手动mknod命令,需传入设备文件名),命名过于死板(编译后驱动对应的设备文件名固定,无法动态修改)。 2.6版本之后内核统一使用sysfs,挂载在/sys目录。将设备分类、分层次统一进行管理,配合udev/mdev守护进程(开启自启,后台运行,一直监听内核驱动发出...

  RRrlTBTeGkgo   2023年11月01日   43   0   0 Linux
关注 更多

空空如也 ~ ~

粉丝 更多

空空如也 ~ ~