- 博客(134)
- 资源 (3)
- 收藏
- 关注
原创 单片机 flash 擦写(先擦除 后写任意字节)
很多情况下,我们写扇区病不一定512对齐,甚至有的情况下跨扇区读写,为了满足这个需求,进行判断先擦除再写,并且不影响之前扇区的数据。
2024-08-06 15:51:07
675
原创 警告:隐式声明函数‘popen’ [-Wimplicit-function-declaration] fp = popen(“lscpu“, “r“);
这个问题一眼的话是看不出问题的,c库文件我已经都包含了/usr/include/sys/ipc.h:24:3: 警告:#warning "Files using this header must be compiled with _SVID_SOURCE or _XOPEN_SOURCE" [-Wcpp]
2024-08-02 17:33:10
435
原创 KEIL declaration may not appear after executable statement in block
这个问题也是比较经典,就是不允许你的变量定义位置不允许在下边的代码区域,只允许在最上方。修改编码模式为C99解决。
2024-05-11 11:57:06
499
原创 vscode git图形化使用教程(一文秒懂,快速上手)
没有分布分支的话远端分支是没有的,并且后边没有跟着 origin,也就是代表不是远程分支。(如果想要切换分支,必须要先上传当前更改的再切换分支,切换完分支后变为之前分支内容)然后我们选择 merge 到主分支,右键 5 版本分支上的主分支选择 merge。但我们可以考虑一些可能影响项目的事实。重新拉取主分支,如果还是叫 master,master 就会回到最新的这个分支上。选中当前分支,checkout 就会切换为该分支,然后发布分支就会在远端看到了。发布分支,当前只是本地分支,然后我们需要发布分支。
2024-03-21 17:29:37
4950
1
原创 git 常用操作
命令: git checkout -b 本地分支名字 拉取远程分支。命令:git branch -vva。命令:git clone 仓库地址。git checkout 分支。子模块 .gitmodules。命令:git pull。
2024-03-15 11:52:17
430
原创 4G模组EC20 网卡udhcpc获取IP但是没有设置IP
busybox\examples\udhcp\simple.script 拷贝并重命名到。获取ip命令:udhcpc -i usb0。(1)rootfs 创建文件夹以及文件。(2)拷贝文件到该文件夹。
2023-08-25 17:46:16
1936
原创 [Buildroot] ubuntu22.04版本构建错误 You must install ‘python‘ on your build machine
输入python命令后提示:很显然python3只支持python3命令,对于高级版本的ubuntu就会出现这种情况。
2023-04-23 17:45:21
1453
原创 stm32串口空闲中断+DMA传输接受不定长数据+letter shell 实现命令行
空闲中断(IDLE),俗称帧中断,即第一帧数据接收完毕到第二帧数据开始接收期间存在一个空闲状态(每接收一帧数据后空闲标志位置1),检测到此空闲状态后即执行中断程序。产生的条件是当清除空闲标志位后,必须有接收到第一个数据后,才开始触发,一旦接收的数据断流,没有接收到数据,即产生空闲中断。有些地方没写完,后续补上,里边操作系统是freertos,这个不是必须的。串口空闲中断在串口无数据接收的情况下,是不会产生的,一定要有串口电路,TTL转串口电路,串口接线正常。初始化完成清空串口缓冲区,保证无初始化乱码。
2023-03-19 23:37:46
6724
1
原创 vesc更新程序
更新程序一定要选择合适的 vesc tools 选择合适的版本可以避免一直提示固件过老或者过新。(1)选择上位机6.0。(2):先升级boot。
2023-02-19 09:32:04
493
原创 串口 常见问题
轮询可能因为其他业务占用cpu太多时间,导致无法一次性接受全字符串,有的缓冲区例如新塘可能有16字节缓冲,一单其他业务占用太多cpu就会出现只能接收16字节数据的现象,其他字节丢了。例如你先使能发送是en,然后发送,如果发送速度慢你立马 再使能了接受,就可能导致发不全甚至发不出去,同理接收,主要是时序的问题。之前用过一个命令行,然后你发送东西就会回显出来,最终定位是因为串口初始化之后最好要清空一下接收缓冲区。注意:rs485接线好像是 rx接rx tx接tx。7. 每次重启,概率性会存在串口乱码。
2023-01-08 20:36:58
311
原创 VESC 电机定时器TIMER PWM初始化
这个信号就会变为有效信号、就能被其他需要这个信号的外设所识别,如果不指定触发源的话就是一个无效信号气的外设无法识别。避免关闭前一个设备和打开后一个设备时因为开关速度的问题出现同时开启状态而增加负荷的情况。的缓冲器中写入新值,以便在更新事件发生时载入覆盖以前的值。定时器基础 比较输出 高级定时器 结构体。桥上的意外信号可能因起全桥短路要烧芯片的。高级定时器结构体只适用定时器。比较匹配之后输出口输出的极性。比较匹配之后输出口输出的极性。运行模式下的关闭状态选择。空闲模式下的关闭状态选择。用于死区或者滤波分频。
2022-12-22 22:26:57
708
原创 【定时器】编码器定时器初始化详解
很多多任务处理,读取脉冲没办法及时响应,当电机高速旋转可能会导致转了好几圈,无法对脉冲及时响应。简单讲一下这个脉冲的作用:当编码器旋转到固定位置,输出该脉冲,也就是旋转一圈固定位置输出。触发方式:看似三个参数,上升沿 下降沿 和 双边沿,但是实际编码器模式应该是是否反相。的好处个人是认为,可以每次读取脉冲的时候,不至于到重载值清零。提供滤波器以及死区时间,这里对于咱们的比较滤波器挺有用的。编码器模式,这里的模式跟最终一圈的脉冲数是有联系的。分为三个模式,应该是这三个模式决定分辨率,线,如果是前两种应该是。
2022-12-11 17:00:05
1184
原创 【uboot】bootcmd和bootargs --举例nuc980 yaffs2以及imx6ul emmc
bootz ${kernel_load_address} - ${devicetree_load_address} 启动镜像位置 设备树位置]mtd,ubi,etc....直接在内核中根据root=xxx挂根,并有内核启动init进程/sbin/init。[从第1个存储设备的第1个分区的根目录读出uImage文件到内存地址0x83000000 拷贝设备树][从第1个存储设备的第1个分区的根目录读出uImage文件到内存地址0x80800000 拷贝镜像]忽略内核日志等级的设置,向控制台输出所有内核消息。
2022-11-25 22:55:43
1074
原创 【单片机】独立看门狗IWDG初始化
此器件具有两个嵌入式看门狗外设,具有安全性高、定时准确及使用灵活的优点。两个看门狗外设(独立和窗口)均可用于检测并解决由软件错误导致的故障;当计数器达到给定的超时值时,触发一个中断(仅适用于窗口型看门狗)或产生系统复位。独立看门狗 (IWDG) 由其专用低速时钟 (LSI) 驱动,因此即便在主时钟发生故障时仍然保持 工作状态。窗口看门狗 (WWDG) 时钟由 APB1 时钟经预分频后提供,通过可配置的时间窗 口来检测应用程序非正常的过迟或过早的操作。
2022-11-20 22:54:00
1621
原创 【FreeRTOS】FreeRTOS删除任务vTaskDelete()
任务中。小时 (任务句柄_t xTask);INCLUDE_vTaskDelete必须定义为1,才能使用此函数。有关更多信息,请参见RTOS配置文档。从RTOS内核管理中删除任务。正在删除的任务将从所有就绪、阻止、暂停和事件列表中删除。注:空闲任务负责从已删除的任务中释放RTOS内核分配的内存。因此,如果应用程序调用vTaskDelete(),则空闲任务不会缺少微控制器处理时间,这一点非常重要。任务代码分配的内存不会自动释放,应该在删除任务之前释放。请参见应用程序文件死亡演示。
2022-11-20 22:05:35
2734
原创 【单片机】新建工程stm大量报错
可以看到大量的基础变量没有定义主要是,一定要添加这两个stm32f4xx_conf.hstm32f4xx.hUSE_STDPERIPH_DRIVER,STM32F40_41xxx
2022-11-19 11:07:43
406
原创 【github】git push提交代码 出现问题fatal: ‘origin‘ does not appear to be a git repository
是因为远程不存在origin这个仓库名称,可以使用如下操作方法,查看远程仓库名称以及路径相关信息,可以删除错误的远程仓库名称,重新添加新的远程仓库;
2022-11-17 23:15:50
628
原创 【buildroot】linux编译器版本和gcc版本version.h不一致
199168 = 00110000101000000000(b) = 030A00(h)对应3.10.x版本内核。263680 = 01000000011000000000(b) = 040600(h)对应4.6.x版本内核。197120 = 00110000001000000000(b) = 030200(h)对应3.2.x版本内核。修改linux版本:所以4.1版本为。搜索version.h。
2022-11-07 23:07:14
1875
原创 【单片机】唯一设备ID UID固件加密
唯一设备标识符最适合:● 用作序列号(例如 USB 字符串序列号或其它终端应用程序)● 在对内部 Flash 进行编程前将唯一 ID 与软件加密原语和协议结合使用时用作安全密钥以提高 Flash 中代码的安全性● 激活安全自举过程等96 位的唯一设备标识符提供了一个对于任何设备和任何上下文都唯一的参考号码。用户永远不能改变这些位。96 位的唯一设备标识符也可以以单字节/ 半字 / 字等不同方式读取,然后使用自定义算法连接起来。
2022-10-29 09:32:04
4383
2
原创 【脚本】bat脚本常用命令
xcopy "目录\*" "目录" /s /e /i /y。del /f /s /q 目录\。rd /s /q 目录\。copy 文件 目录。
2022-10-16 23:22:21
540
原创 【rootfs】linux系统mtd分区挂载ubifs
ubi命令用法(linux)_IT利刃出鞘的博客-优快云博客_linux ubi1.格式化ubi,格式化自己想要的mtd分区,例如mtd42.链接mtd ubi3.创建ubi卷,data是名字4.创建ubi文件夹,将ubi挂载到该文件夹5.挂载文件
2022-10-16 23:17:03
2415
原创 【buildroot】buildroot常用文件夹
dl:主要是下载的软件包,一般是自动下载,或者是无网环境下编译报错并给出url,自己到有网环境下下载。board:板级配置,主要是针对各个芯片厂商进行提供,也可以自己新建配置。Config.in: 菜单文件,主要是menuconfig菜单。configs:主要是buildroot配置文件。MakeFile:可以修改编译器和编译架构。package:各种对于软件的配置。toolchain:编译器。
2022-10-02 12:04:16
1252
原创 【buildroot适配】local.mk添加自带编译linux和uboot资源
前提:已经打开linux 和 uboot 编译,但是寻找资源文件夹的时候优先找local.mk。2.buildroot目录下创建local.mk文件。local.mk文件内容添加编译文件夹路径。添加local选择local。
2022-09-22 23:53:14
1559
原创 【uboot内核适配学习】uboot 添加命令
1.在cmd文件夹下创建新命令文件例如:cmd_hello.c/*第一个参数的用法大多数都是,失败返回flag不太清楚argc参数个数argv参数字符串*/staticintdo_hello(cmd_tbl_t*cmdtp,intflag,intargc,char *constargv[]){return0;}/*1.命令名字2.最大参数个数3.是否能复用4.回调函数名5.简单说明6.help*/
2022-09-22 23:27:16
277
原创 uboot menuconfig详解
configs/ **_defconfig 注意:defconfig 是必须的后缀有的需要指定编译器CROSS_COMPILE 和 架构 ARCHmake 配置文件 ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf-make savedefconfig 将生成的.config精简,方便拷贝替代原有的配置文件保存。
2022-09-17 23:17:44
2163
转载 [万能通用语句]makefile 多级目录递归执行
意义:自动化编译行为,以后编译自己的c文件时可把这些makefile文件直接复制到相应目录即可方便编译出所有文件。这些makefile文件是通用的,只需根据自己的工程情况改动少许内容即可用法:工程根目录下一个主要的makefile,然后每个子目录下都放一个子makefile,将所有的文件编译链接,非常方便,唯一的缺点就是你不能屏蔽掉你不想编译的文件.
2022-09-14 21:57:22
1223
1
原创 【uboot内核适配学习】uboot 修改默认ip
设备出场的时候都需要默认的ip。找到uboot芯片配置文件,不同芯片厂家适配的文件必定是不一样的,位置也可能不一样
2022-09-12 23:34:50
1990
原创 linux编译器配置
环境变量路径(选择自己的路径):/home/lkc/tools/gcc-linaro-4.9.4-2017.01-i686_arm-linux-gnueabihf/bin。配置文件 ~/.bashrc。配置文件~/.zshrc。
2022-08-28 16:57:18
562
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人