3.2k words
STM32的MPU保护单元配置 一、MPU控制模式 二、三种内存类型 三、Cache介绍 1、Cache写操作 2、Cache读操作 2、数据一致性解决 二、区域设置 三、建议配(MPU_TEX_LEVEL0)(注意考虑数据一致性问题) MPU,即内存保护单元,可以设置不同存储区域的存储器访问特性(用户级、特权访问、全访问)和存储器属性(如可缓存、可缓冲、可共享),对存储器(主要是内存和外设)提供保护,从而提高系统可靠性。 存储器访问特性 权限类型 特权模式(内核) 用户任务 典型用途 特权只读(PRIV_RO) 可读 不可访问 (触发故障) 保护只读内核代码/常量 特权读写(PRIV_RW) 可读写 不可访问 (触发故障) 内核数据结构、关键寄存器 全访问(FULL_ACCESS) 可读写 可读写 用户堆栈、共享内存 存储器属性 存储器属性 硬件行为 数据一致性 典型用途 可缓存 读写经过Cache 需软件维护(Clean/Invalidate) 单核私有高性能数据 可缓冲 写入通过Write ...
1.8k words
一、Git配置: 二、Git基础使用 二、辅助命令 三、分支操作 一、Git配置: 打开Git Bash依次输入以下命令配置个人信息: 123git config --global user.name "名称"git config --global user.email 邮箱地址git config --global user.password 密码 输入以下命令可以查看个人配置信息 1git config --global --list 在User下找到.ssh文件夹生成id_rsa.pub文件作为SSH密钥 1ssh-keygen -t rsa 配置配置.gitignore文件以此来忽略不需要提交的git文件 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667###################################...
1.3k words
一、安装PM2 二、PM2的使用 一、安装PM2 nvm是官方安装nodejs的工具,安装方式如下: 12345# 安装 nvm (Node 版本管理器)curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.0/install.sh | bash# 如果上面进度慢,可以尝试国内镜像版本curl -o- https://gitee.com/mirrors/nvm/raw/v0.40.0/install.sh | bash 更改Node.js 下载镜像源(如淘宝镜像): 123456# 临时生效export NVM_NODEJS_ORG_MIRROR=https://npmmirror.com/mirrors/node# 永久生效(写入Shell配置文件)echo 'export NVM_NODEJS_ORG_MIRROR="https://npmmirror.com/mirrors/node"' >> ~/.bashrcsource ~/.bas...
25k words
1、动态创建任务 2、静态创建任务 3、任务挂起与回复 3.1、任务挂起 3.2 任务恢复 3.3 挂起任务调度器 3.4 恢复任务调度器 3.5 打印任务状态 3.6 中断管理 5、时间函数 6、任务之间通过队列传输数据 7、二进制信号量释放与接收 7.1 二进制信号量 7.2 互斥二进制信号量 8、计数信号量释放与接收 9、队列集 10、事件标志组 11 任务通知 11.1 任务通知模拟信号量 11.2 任务通知模拟消息队列(邮箱) 11.3 模拟事件标志组 12、软件定时器 1、动态创建任务123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100#include "main.h"#include "...
2.7k words
重启 1sudo reboot 关机 1sudo poweroff 返回 1234561.返回根目录cd2.返回上一级cd ..3.回到上一次的位置cd - 列出当前目录文件 12345678910111213141.显示当前文件目录ls2.显示指定文件目录ls path3.显示所有文件ls -a4.显示文件属性ls -l5.显示所有文件属性ls -al或者ls -la 清楚终端 1clear 显示当前路径 1pwd 文件操作 123456789101112131415161.创建文件夹mkdir document2.创建多级文件夹mkdir -p user/document3.删除文件夹rm -rf document4.复制文件夹cp document new_name5.创建文件touch 1.txt6.删除文件rm 1.txt 7.重命名或者移动mv aim new 环境变量 12345678910一,用户环境变量/user/ubuntu/.profile中添加shell脚本二,系统脚本在/etc/profile.d/目录下创建...
464 words
一、标题 二、有序列表 三、无序列表 四、任务列表 五、表格 六、代码 七、图片 八、超链接 九、水平分割线 十、引用 其他 一、标题123456789101112131415一级标题# 名称六级标题###### 名称----------------------------------------------一级标题ctrl + 1六级标题ctrl + 6清楚标题ctrl + 0 二、有序列表123456781. 名称ctrl + shift +[降级tab升级shift + tab 三、无序列表12* 名称- 名称 四、任务列表1- [ ] 名称 五、表格1|名称|名称|名称| 六、代码1234567891011行内代码`内容`代码块```语言类型~~~语言类型-------------------------------------------------代码块ctrl + shift + k 七、图片12选择图片![]() 八、超链接12超链接[显示](位置/链接) 九、水平分割线12分割线--- 十、引用12引用> 内容 其他1234...
13k words
使用VScode开发STM32:基于CMake 一、软件安装 1.1 安装CMake 1.1.1 安装 1.1.2 添加环境变量 1.1.3 验证 1.2 安装arm-none-eabi-gcc 1.2.1 安装 1.2.2 添加环境变量 1.2.3 验证 1.3 安装OpenOCD 1.3.1 安装 1.3.2 添加环境变量 1.3.3 验证 1.4 安装MinGW 1.4.1 安装 1.4.2 添加环境变量 1.3.3 验证 1.5 在Vscode中安装插件 二、工程搭建 2.1 配置CMakeLists.txt文件 2.2 选择startup_stm32f10x_hd.s 2.3 STM32F103ZETx_FLASH.ld 2.4 关于core_cm3.c文件 2.5 配置.vscode文件夹 2.4.1 添加并配置c_cpp_properties.json 三、编译、下载与调试 3.1 选择编译器 3.2 编译 3.3 烧录 3.3 调试 3.4 关于变量定义 使用VScode开发STM32:基于CMake本教程使用VSc...
18k words
一、数据结构与算法:线性表 1、顺序表 2、链表 3、双向链表 4、循环链表w 5、堆栈(Stack) 6、队列(Queue) 实战1、反转链表 解法一 解法二:递归 实战2、匹配字符串 方法:栈的应用 方法1:自己的 方法2:更快 方法三:更快 二、数据结构与算法:树 1、树:理论 2、二叉树的性质 3、二叉树遍历:前序、中序、后序遍历 4、二叉树遍历:层序遍历 5、二叉树的线索化(以前序为例) 六、二叉搜索树(二叉查找树) 七、平衡二叉树 三、数据结构与算法:哈希表 1、哈希表 2、哈希冲突(链地址法) 一、数据结构与算法:线性表1、顺序表实现代码: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101#incl...
9.1k words
将原始的坐标数据,转化成你希望的坐标系,python程序如下: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191...
762 words
VIM使用 一、移动 1.1单个字符移动 1.2 行首尾移动 1.3 单词之间移动 1.4 整文移动 二、剪切/删除/粘贴 三、跳转 四、其他 VIM使用一、移动1.1单个字符移动 按键 功能 h 左移 j 下移 k 上移 l 右移 1.2 行首尾移动 按键 功能 0/g0 移动到本行开头 ^/g^ 移动到本行第一个字符 $/g$ 移动到结尾 1.3 单词之间移动 按键 功能 b/e 单词开头/单词结尾 f+char 跳转到char位置处 1.4 整文移动 按键 功能 gg 移动到第一行 G 移动到最后一行 o 在下一行插入 i/I 在光标前/后插入 ngg 跳转到第n行 二、剪切/删除/粘贴 按键 功能 dnd 剪切光标所在行及下面n行 dd 剪切当前行 diw 剪切当前单词 dngg 剪切本行到第n行 di( 删除()中...