xt-sdk 文档 v1.0.3
xt-sdk 嵌入式 SDK API 参考
载入中...
搜索中...
未找到
xt_fal 真实硬件验证

平台 目标 板子
lm620 r4f4 e837n_v01

验证 lm620 平台 xt_fal 后端(xt_fal_lm620):分区遍历、系统分区只读访问、testdata 读写擦、基于 testdata 的二级分区注册与验证。

测试场景

  1. **遍历所有已注册分区**:获取 int_flash 元信息,遍历 16 个分区槽位,打印每个分区的元信息并读前 256 字节(dump 前 32 字节)。
  2. **只读访问系统分区**:读取 mbl / xboot / xknl / zknl / part_tbl 前 256 字节。绝对禁止在此对系统分区做 erase/write。
  3. **testdata 分区读写擦验证**:擦除首 4KB → 校验全 0xFF → 写 256 字节递增序列并读回比对 → 偏移 0x100 写 0xA5 序列并读回比对 → 末尾 256 字节边界读。
  4. **二级分区注册与验证**:检查 testdata 头部 4KB 是否存在有效二级分区表;若无效则写入默认模板(logo/param/user),解析后通过 xt_fal_register 注册为二级 flash,再对每个二级分区做 erase+write+read+比对。

构建和运行

cd examples/platform_specific/lm620/fal
xt --target lm620_internal/r4f4 fullclean build

分区表修改

本示例工程通过 ext_cfg/xpartition.ini 覆盖默认分区表:

分区 地址 大小 说明
data 0x003C1400 0x0000E000 (56KB) 缩小(默认 0x3EC00)
testdata 0x003CF400 0x00030000 (192KB) 新增

二级分区布局(基于 testdata 平台分区):

二级分区 地址 大小 说明
分区表 0x003CF400 4KB 二级 part_tbl 存储
logo 0x003D0400 64KB 开机 logo
param 0x003E0400 32KB 参数
user 0x003E8400 92KB 用户数据

注意事项

  • 需通过串口查看日志输出(xt_log_setup(0, 0, 0, 0))。
  • 依赖 xt_fal(Flash 抽象层) 组件提供分区抽象,依赖平台 preinit 完成 xt_fal_lm620_init 与 xt_fal_init 调用。

⚠️ 警示

  • **首次烧录会丢失原 data 分区用户数据**:本工程通过 ext_cfg/xpartition.ini 覆盖默认分区表(data 缩小到 56KB,新增 testdata 192KB),分区表变更后原 data 区数据不再可用。
  • **绝对禁止在 test2 中对系统分区(mbl/xboot/xknl/zknl/part_tbl)做 erase/write 操作,会导致砖机**。test2 仅做只读访问。