工作随机整理--02

Linux下的使用

  1. Linux系统中不同文件或文件夹之间存在不同的使用权限
    read      -r    4
    write     -w   2
    execute     -x    1
    可以使用 chmod -R 去迭代修改使用权限

  2. Linux下彻底删除软件及配置文件

    dpkg -l | grep "^rc" | awk '{print $2}' | xarg apt -y purge 
    #dpkg -l 列出系统中安装的所有包的状态,ii为正常安装,rc为删除组留下配置文件
    #grep "^rc" 模糊查询到以rc开头的包
    #awk '{print $2}' 打印这些包的名字
    #xarg apt -y purge purge会清楚配置文件,-y会对apt命令的提示回答是
    #卸载单独的包文件,也可以使用dpkg --purge命令
    
  3. Linux终端常使用的一下快捷键
    ctrl+shift+⬆️/⬇️     上下滚动
    shift+page down/up    上下翻页
    ctrl+shift+c        复制
    ctrl+shift+v        粘贴
    ctrl+l           清屏
    ctrl+d           关闭终端

  4. ldd
    可列出一个程序所需要的动态链接库(.so文件),可用which命令找到ldd的位置
    通常使用‘-v’或‘-- verbose’选项来显示所以来的动态链接库尽可能多的详细信息

  5. make

    make distclean #清除所有生成的文件
    make clean #仅清除之前编译的可执行文件及配置文件(.o)
    makefile #在符合GNU Makefile惯例的Makefile文件中,包含了一些预先定义的操作
    make #根据Makefile编译源代码,生成目标文件及可执行文件
    make install #将编译成功的可执行文件安装到系统目录中,一般为/usr/local/bin目录
    make dist #生产发布软件包文件(distribute package)
    make distcheck #生成发布文件并对其进行检查
    

6.vim相关

:s/old/new
:s/old/new/g #替换一行中所有的old为new
:n.ms/old/new/g #替换n->m行所有
:%s/old/new/g #替换文本中所有

vim -b #查看图片的二进制
:%!xxd #转十六进制
:%!xxd -r #转会二进制
:| #文件头部
:$ #文件尾部

gg #跳转到第一行
shift+v #跳转到可视模式
shift+g #全选
= #格式化代码
  1. 系统版本的区别
  • 开发期 
    α版:预览版;β版:公开测试;RC(Release Candidata):最终公测版本
  • 完成期 
    Release:正式发布版; Final:最终版; Stable:稳定版; GAC(General Avaliability):正式发布版本;
  1. 关于LIBRARY_PATH和LD_LIBRARY_PATH
    LIBRARY_PATH和LD_LIBRARY是Linux的两个环境变量
    其中:
    LIBRARY_PATH是用于在程序编译期间查找动态链接库时指定查找共享库的路径
    LD_LIBRARY_PATH
<think>嗯,用户需要查询M24M02 EEPROM的技术文档和使用指南。从引用内容看,用户可能正在开发嵌入式系统,需要具体操作细节。用户明确提到了"datasheet"和"usage guide",说明需要官方技术文档和实际应用指导。 引用1提到这是ST的2Mbit I2C EEPROM,支持宽电压范围;引用2补充了容量为256KB,分页结构;引用3则说明这类EEPROM的通用应用场景。这些信息零散,用户真正需要的是系统化的技术资料。 用户可能遇到的具体问题包括:I2C地址配置、读写时序、分页写入限制等。ta没有说明具体开发平台,但引用中出现了Arduino和Teensy的示例,推测可能在使用微控制器开发。需要同时提供基础参数和实操指导。 注意到用户上次询问过相同型号,这次更聚焦于技术文档。应该优先给出官方资料获取渠道,再补充典型应用场景的代码片段。特别要强调分页写入机制这个关键点,因为引用2提到每页256字节,这是实际使用中最容易出错的地方。 对于使用指南,需要覆盖:硬件连接注意事项(如I2C上拉电阻)、地址引脚配置、写保护控制、以及如何规避页边界问题。考虑到EEPROM通常用于存储关键参数,还要提醒数据写入周期和寿命管理。</think>以下是关于**M24M02 EEPROM**的技术信息和使用指南整理--- ### **一、核心特性** 1. **容量与结构** - **2Mbit(256KB)**存储空间,每页**256字节**。 - **18位地址线**,其中高2位地址嵌入在设备地址中[^2]。 2. **电气特性** - **宽电压支持**:工作电压范围**1.8V~5.5V**,兼容3.3V/5V系统[^1]。 - **低功耗设计**:适合电池供电场景。 3. **接口协议** - **标准I²C接口**,最高时钟频率**1MHz**(高速模式)。 - 设备地址:**0x50~0x57**(由地址引脚A0/A1/A2配置)[^2]。 --- ### **二、硬件连接指南** | **引脚** | **功能** | **连接说明** | |----------|----------------|-----------------------------| | SDA | 数据线 | 接MCU的SDA引脚(需上拉电阻) | | SCL | 时钟线 | 接MCU的SCL引脚(需上拉电阻) | | WP | 写保护 | 高电平锁定写入,通常接地使能写操作 | | VCC | 电源(1.8-5.5V) | 接3.3V或5V电源 | | GND | 地线 | 接系统地 | > **注意**:I²C总线必须加**4.7kΩ上拉电阻**,否则通信可能失败。 --- ### **三、关键操作流程** #### **1. 写入数据** ```c // HAL库示例(STM32) HAL_I2C_Mem_Write(&hi2c1, 0xA0, target_addr, I2C_MEMADD_SIZE_16BIT, data_buf, data_len, 100); ``` - **页写入限制**:单次写入不可跨页(每页256字节),否则数据会回卷覆盖[^2]。 - **写周期**:约**5ms**,需延时或轮询ACK确认完成。 #### **2. 读取数据** ```c HAL_I2C_Mem_Read(&hi2c1, 0xA1, read_addr, I2C_MEMADD_SIZE_16BIT, rx_buf, read_len, 100); ``` - 支持随机读取,无长度限制。 #### **3. 地址计算** - **完整18位地址** = `(device_addr << 16) | page_addr` 示例:访问地址`0x12345` → 设备地址`0x50`(高2位=01) + 页内偏移`0x0345`[^2]。 --- ### **四、典型应用场景** - 存储**设备配置参数**(如校准数据、网络配置)[^3]。 - 记录**传感器历史数据**(低功耗场景)。 - 嵌入式系统的**固件备份存储**。 --- ### **五、官方资源获取** 1. **Datasheet下载** ST官网搜索 "M24M02 datasheet" → [ST Microelectronics官网](https://www.st.com)。 2. **参考设计** - Arduino库:`Wire`库驱动I²C EEPROM。 - STM32 HAL库:使用`HAL_I2C_Mem_Write/Read()`函数[^2]。 --- ### **常见问题解决** - **Q:写入后读回数据错误?** → 检查页边界限制,确保单次写入≤256字节且不跨页。 - **Q:I²C通信超时?** → 确认上拉电阻已安装,SCL/SDA线长<50cm。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值