摘要: Artery这款MCU还是不错的,IO复用也很人性化 这里主要记录一下更换STM32的MCU之后,需要注意的几个地方: 0. 编译环境的使用 继续使用MDK的话,官方会给一个pack文件,添加进去,使用Software Packs的模式创建工程即可。 如果习惯使用Device Database的话, 阅读全文
posted @ 2022-10-18 14:00 linux_farmer 阅读(97) 评论(0) 推荐(0) 编辑
摘要: linux用户登录后默认目录是在/etc/passwd文件设置的。 所以,修改对应的路径即可 阅读全文
posted @ 2022-05-10 09:34 linux_farmer 阅读(429) 评论(0) 推荐(0) 编辑
摘要: 1. 寄存器 mips下一共有32个通用寄存器 汇编语言中,寄存器标志以$开头 寄存器的访问,可以直接使用$0..31(如$0),也可以使用define的名字,如下: 2. 程序结构 基本与gcc汇编一致 .data开始定义数据段 .text开始定义代码段 3. 几个常用的汇编指令 如果要访问内存, 阅读全文
posted @ 2022-04-01 14:05 linux_farmer 阅读(366) 评论(0) 推荐(0) 编辑
摘要: 1. anon_root需要设置为根目录,该目录的权限必须是555,否则会无法连接!!!! 根目录可以读取,但是无法上传文件。 2. 可以在根目录下设置一个上传目录,权限随意,设置为777的话,就可以上传文件到此了! 3. 匿名用户名不可以为空,必须是: anonymous >>20220512 v 阅读全文
posted @ 2022-03-27 14:26 linux_farmer 阅读(121) 评论(0) 推荐(0) 编辑
摘要: RN8302b调试笔记 艰难调试完毕,吐槽的话就不说了,只有个手册,官方应用笔记还不给,想想太窝火 无奈才某处花钱买了个官方应用笔记。。。。。 忽然发现,现在啥都要钱了,希望博客园的分享可以坚持下去! 1. 通讯接口 别的不说了,既然PCB都做了,那就一个坑一个坑的来吧,这里不再赘述SPI的的接口以 阅读全文
posted @ 2021-11-04 14:22 linux_farmer 阅读(7868) 评论(28) 推荐(2) 编辑
摘要: 定义结构体、联合的时候,有时候需要定义一个匿名的结构,这样访问成员的时候不需要增加一级操作 但是MDK默认不允许使用匿名!!!! 所以我们需要增加一个编译指令: #pragma anon_unions 实际使用中,我们在其他数据结构中不需要这个功能,所以就得取消之,所以要用到下面两个编译指令: #p 阅读全文
posted @ 2021-09-10 11:45 linux_farmer 阅读(1408) 评论(0) 推荐(0) 编辑
摘要: Python中: str.strip(): 用来去除头尾字符、空白符(包括\n、\r、\t、' ') str.lstrip():同strip(), 但是只去除头部字符 str.rstrip():同strip(), 但是只去除尾部字符 但是我们发现,中间的没有处理! 其实我们可以使用str.repla 阅读全文
posted @ 2021-09-04 18:19 linux_farmer 阅读(72) 评论(0) 推荐(0) 编辑
摘要: all() 函数用于判断给定的可迭代参数 iterable 中的所有元素是否都为 TRUE,如果是返回 True,否则返回 False。 元素除了是 0、空、None、False 外都算 True。 any() 函数用于判断给定的可迭代参数 iterable 是否全部为 False,则返回 Fals 阅读全文
posted @ 2021-09-04 17:06 linux_farmer 阅读(44) 评论(0) 推荐(0) 编辑
摘要: 元组(tuple): tuplename = (element1, element2, element3...) 元组是不可变序列,其实就是不可变的列表。 通常情况下,元组用于保存程序中不可修改的内容。 一般情况下,一组小括号内的数据称为元组,不过小括号不是必需的,只要将一组数值用逗号分开,Pyth 阅读全文
posted @ 2021-07-22 15:33 linux_farmer 阅读(69) 评论(0) 推荐(0) 编辑
摘要: 1 list = [1,2,3] 2 3 print(list) 4 #del list[-1] 5 if 3 in list: # 确认3是否存在于列表中 6 list.remove(3) 7 print(list) 除了使用del可以删除列表的某一项(利用索引),也可以使用remove删除列表中 阅读全文
posted @ 2021-07-22 14:17 linux_farmer 阅读(38) 评论(0) 推荐(0) 编辑
摘要: 心血来潮,考虑移植Python到现有的arm-linux平台,网上看了看,做的还很多 参考了不少,折腾了两天,现将过程整理一下,备查: 交叉工具链: arm-none-linux-gnueabi-版本: 3.9.6编译输出目录: arm_build 0. 官网下载:Python-3.9.6.tgz1 阅读全文
posted @ 2021-07-01 15:13 linux_farmer 阅读(904) 评论(0) 推荐(0) 编辑
摘要: 本文作为jffs2修改的后续,部分内容不再赘述 已有 JFFs2文件系统的修改 1. UBI/UBIFS不是一个东西。。。 ubifs使用mkfs.ubifs工具直接生成的image(文件系统镜像),可以使用uboot来升级系统。 ubi是直接可以烧写再flash的文件(带有UBI文件系统镜像卷标) 阅读全文
posted @ 2021-05-31 15:33 linux_farmer 阅读(1542) 评论(0) 推荐(0) 编辑
摘要: 1. 最近研究MQTT,又不想用网络服务器。所以开始研究本地服务器的搭建。 2. 使用:Apache ActiveMQ Apache ActiveMQ 是一款基于Java的消息服务器,支持多种协议可以使用C,C ++,Python,.Net等进行连接。ActiveMQ 官网介绍目前提供2个版本下载, 阅读全文
posted @ 2021-05-24 17:00 linux_farmer 阅读(688) 评论(0) 推荐(0) 编辑
摘要: 04:错误探测 总时间限制: 1000ms 内存限制: 65536kB描述 给定n*n由0和1组成的矩阵,如果矩阵的每一行和每一列的1的数量都是偶数,则认为符合条件。你的任务就是检测矩阵是否符合条件,或者在仅改变一个矩阵元素的情况下能否符合条件。"改变矩阵元素"的操作定义为0变成1或者1变成0。 输 阅读全文
posted @ 2020-12-06 20:07 linux_farmer 阅读(424) 评论(0) 推荐(0) 编辑
摘要: 20:话题焦点人物 总时间限制: 1000ms 内存限制: 65536kB描述 微博提供了一种便捷的交流平台。一条微博中,可以提及其它用户。例如Lee发出一条微博为:“期末考试顺利 @Kim @Neo”,则Lee提及了Kim和Neo两位用户。 我们收集了N(1 < N < 10000)条微博,并已将 阅读全文
posted @ 2020-12-06 18:21 linux_farmer 阅读(423) 评论(0) 推荐(0) 编辑
摘要: 简言之,引用就是一个对象(变量)的另一个名字。 所以,定义引用之前,要引用的变量必须是已经定义的,而且引用必须定义时初始化! 引用是一种复合类型,通过在变量名前添加“&”符号来定义。复合类型是指用其他类型定义的类型。在引用的情况下,每一种引用类型都关联到某一其他类型。不能定义引用类型的引用! 1 i 阅读全文
posted @ 2020-09-16 15:57 linux_farmer 阅读(119) 评论(0) 推荐(0) 编辑
摘要: 1 #include <iostream> 2 using namespace std; 3 4 int main(void) 5 { 6 char n; 7 cin >> n; 8 cout << static_cast<int>(n); // C++ style 9 return 0; 10 } 阅读全文
posted @ 2020-09-16 11:22 linux_farmer 阅读(190) 评论(0) 推荐(0) 编辑
摘要: 1. 输出保留指定小数的浮点数: cout.precision() 1 #include "iostream" 2 using namespace std; 3 int main() 4 { 5 double num; 6 cin >> num; 7 8 // 9 cout.precision(12 阅读全文
posted @ 2020-09-09 12:33 linux_farmer 阅读(605) 评论(0) 推荐(0) 编辑
摘要: STL,英文全称 standard template library,中文可译为标准模板库或者泛型库,其包含有大量的模板类和模板函数,是 C++ 提供的一个基础模板的集合,用于完成诸如输入/输出、数学计算等功能。 从根本上说,STL 是一些容器、算法和其他一些组件的集合,所有容器和算法都是总结了几十 阅读全文
posted @ 2020-09-08 21:06 linux_farmer 阅读(147) 评论(0) 推荐(0) 编辑
摘要: 最小系统的搭建: contiki源码比较庞大,有点让人看着烦,没地方入手。 这里整理一下,在我们的平台上,添加如下文件: 1 core/sys/timer.c 2 core/sys/etimer.c 3 core/sys/process.c 4 5 core/sys/autostart.c // A 阅读全文
posted @ 2020-07-23 10:57 linux_farmer 阅读(263) 评论(0) 推荐(0) 编辑
摘要: Arm Compiler V6发布已经好久,考虑到各种麻烦,懒得转换。 近期研究iar对代码的优化,忽然发现V6版本的优化也很不错,遂对之前的代码做了一些升级,当然过程比较坎坷,一些要点记录一下: 1. 分散加载文件 ; V6: armclang #! armclang --target=arm-a 阅读全文
posted @ 2020-07-19 14:47 linux_farmer 阅读(1880) 评论(0) 推荐(0) 编辑
摘要: 在代码移植中,经常遇到iar的代码转换问题,在此不间断记录一些,个人感觉还是IAR的更接近C一些,备查: 1. #ifdef的使用 1 // IAR 2 #ifdef MACRO_XX 3 #endif 4 5 // MDK(行首有空格) 6 IF :DEF:MACRO_XX 7 ENDIF 2. 阅读全文
posted @ 2020-07-18 17:41 linux_farmer 阅读(685) 评论(0) 推荐(0) 编辑
摘要: 虚拟机用的过程中经常出现空间不足的问题,分享一下扩容方案 (内容来自网络,本人亲测使用) 1. 首先对虚拟的设备扩容(在Vmware中增加硬盘容量),相当于买一个硬盘装上(注意:只是撞上了,还没有格式化) 2. 在linux系统中扩容(ubuntu为例) 2.1 模式为root用户: sudo -i 阅读全文
posted @ 2020-07-08 18:30 linux_farmer 阅读(286) 评论(0) 推荐(0) 编辑
摘要: AT91Bootstrap是Atmel AT91 SoC的第二级引导加载程序,主要进行硬件的初始化,如时钟配置、GPIO设置、DRAM初始化,从指定的启动区(NAND FLASH、串行FLASH(与AT25兼容的Data-Flash)、EEPROM、SD卡等)下载代码到主存储器并启动它。 Boot策 阅读全文
posted @ 2020-07-04 14:19 linux_farmer 阅读(699) 评论(0) 推荐(0) 编辑
摘要: ADE7880 阅读全文
posted @ 2020-07-04 12:41 linux_farmer 阅读(754) 评论(0) 推荐(0) 编辑