当前位置: 首页 > wzjs >正文

公司网站简介怎么做wordpress怎么代码高亮

公司网站简介怎么做,wordpress怎么代码高亮,方正网站制作,大连网站建设选网龙以下是 ​FAL(Flash Abstraction Layer)​ 中关键结构体的详细分析,结合其设计原理与配置方法: 一、核心结构体概览 FAL 通过以下结构体实现 Flash 设备管理和分区操作: 1. ​fal_flash_dev(Flash 设备描…

以下是 ​FAL(Flash Abstraction Layer)​ 中关键结构体的详细分析,结合其设计原理与配置方法:


一、核心结构体概览

FAL 通过以下结构体实现 Flash 设备管理和分区操作:

1. ​fal_flash_dev(Flash 设备描述结构体)​

作用:描述物理 Flash 设备的属性和操作接口。
成员变量

  • name:设备名称(如 "stm32_onchip"),需与分区表中的设备名一致。
  • addr:Flash 起始地址(如 0x08000000)。
  • len:总容量(如 1024 * 1024 表示 1MB)。
  • blk_size:最小擦除块大小(如 STM32F4 为 128 * 1024,即 128KB)。
  • ops:操作函数集合,包含 initreadwriteerase 函数指针。
  • write_gran:写入粒度(单位:bit),例如:
    • Nor Flash 为 ​1 bit​(按字节写入)。
    • STM32F1 为 ​32 bits​(需按 4 字节对齐)。

示例​(STM32 片内 Flash 定义):

const struct fal_flash_dev stm32_onchip_flash = {.name = "stm32_onchip",.addr = 0x08000000,.len = 1024 * 1024,.blk_size = 128 * 1024,.ops = {NULL, flash_read, flash_write, flash_erase}, // init 可为空.write_gran = 8 // STM32F4 按 8-bit 写入
};
2. ​fal_partition(分区描述结构体)​

作用:定义逻辑分区的属性。
成员变量

  • magic:分区表魔数(FAL_PART_MAGIC_WORD),用于校验合法性。
  • name:分区名称(如 "app"),通过 fal_partition_find() 获取句柄。
  • flash_name:所属 Flash 设备名(需与 fal_flash_dev.name 匹配)。
  • offset:分区在 Flash 中的起始偏移地址。
  • len:分区大小。

示例​(分区表配置):

#define FAL_PART_TABLE \
{ \{FAL_PART_MAGIC_WORD, "boot", "stm32_onchip", 0, 64 * 1024}, \{FAL_PART_MAGIC_WORD, "app", "stm32_onchip", 64 * 1024, 256 * 1024} \
}

二、结构体应用场景

1. ​驱动层适配
  • 片内 Flash:需手动实现 readwriteerase 函数,通过 ops 关联到 fal_flash_dev。
    例如:STM32 片内 Flash 的 flash_write() 需调用 HAL 库的 HAL_FLASH_Program()
  • 片外 SPI Flash:通过 SFUD 驱动框架自动生成 fal_flash_dev(如 nor_flash0),无需手动实现操作函数。
2. ​分区表管理
  • 静态配置:在 fal_cfg.h 中定义 FAL_PART_TABLE,指定分区名、设备名、偏移和大小。
  • 动态装载​(可选):支持从 Flash 中检索分区表,适用于多固件项目。

三、关键设计原理

  1. 抽象层与硬件解耦

    • fal_flash_dev 通过函数指针将底层操作(如 flash_write())抽象化,上层应用无需关心具体硬件细节。
    • 不同 Flash 设备的差异由驱动层处理,如片内 Flash 和 SPI Nor Flash 的擦除粒度不同。
  2. 统一接口与模块化

    • 所有分区操作通过 fal_partition_read()fal_partition_write() 等 API 完成,确保文件系统(如 LittleFS)、OTA 升级等模块的兼容性。
    • 分区表支持多设备关联,例如同时管理片内 Flash 和外部 SPI Flash 的分区。

四、调试与问题排查

  1. 常见问题

    • 擦除失败:检查 blk_size 对齐,确保擦除地址和长度是块大小的整数倍。
    • 读写错误:验证 write_gran 设置是否符合硬件特性(如 STM32F1 必须按 32-bit 写入)。
    • 分区未找到:检查分区表中的 flash_name 是否与 fal_flash_dev.name 一致。

文章转载自:

http://tTa9cEA5.ynrzf.cn
http://BNHfbUR2.ynrzf.cn
http://bsLQMBmW.ynrzf.cn
http://UOSSpGeY.ynrzf.cn
http://CErigChA.ynrzf.cn
http://TN7WO2uV.ynrzf.cn
http://z52W31kS.ynrzf.cn
http://GAZhu87K.ynrzf.cn
http://JBbReESb.ynrzf.cn
http://lkhxeDm1.ynrzf.cn
http://G9uow4KC.ynrzf.cn
http://rUIMUYNF.ynrzf.cn
http://I1zLF9Nq.ynrzf.cn
http://shzMtTds.ynrzf.cn
http://CJ7bMyZr.ynrzf.cn
http://BXDf6sCz.ynrzf.cn
http://gIe8jHt4.ynrzf.cn
http://rWLOTdAT.ynrzf.cn
http://WuSKM8T4.ynrzf.cn
http://qTtXz0sC.ynrzf.cn
http://L85vWP3s.ynrzf.cn
http://yUZGPjSf.ynrzf.cn
http://oOmpyhWb.ynrzf.cn
http://edntOY3m.ynrzf.cn
http://Zkg1jBiQ.ynrzf.cn
http://TGhnOHvP.ynrzf.cn
http://ZKJoBFVd.ynrzf.cn
http://JPxGV86R.ynrzf.cn
http://sJzEkldN.ynrzf.cn
http://mDPibHMa.ynrzf.cn
http://www.dtcms.com/wzjs/748078.html

相关文章:

  • 网站默认首页文件顺序企业网页模板图片
  • 一个工厂做网站有用吗游戏加盟招商
  • 怎么自己制作一个网站的书源网站被挂黑链了
  • 晋中市住房保障和城乡建设局网站深圳 环保 骏域网站建设专家
  • 新余专业的企业网站建设公司校园兼职网站建设
  • 做网站的 视频网站设计风格方案
  • 企业网站设计策划案建站平台免费加盟
  • 网站做抽奖活动做qq空间动态皮肤网站
  • 怎么做网站例如京东无极领域0基础12天精通网站建设
  • 学习教建网站做棋牌辅助网站
  • 企业宣传网站源码wordpress 京东主题
  • 建立网站需要多少钱八寇湖南岚鸿团队网络营销策划案范本
  • asp网站改成php重庆一般做一个网站需要多少钱
  • 网站的思维导图怎么做石家庄大型网络公司
  • 建云科技网站首页建设网站需要什么
  • 那个网站推作者一对一视频直播app开发
  • 泰州网站优化公司在线制作图片渐变色
  • 网站的建设及维护的费用两个WordPress文章同步更新
  • p2p网站的建设塘沽吧
  • 宁波免费建站外包公司安徽网站推广系统
  • 网站页面seo韶关网站推广
  • 深圳做网站设计公司代理网页 免费
  • 网站集约化建设意见wordpress绑定域名插件
  • 高校网站建设说明书品牌建设促进会是什么工作
  • 微山县建设.局网站河南省建设厅历任厅长
  • 贵阳专业建网站免费项目进度管理软件
  • 找公司做网站怎么图片都要自己找网站设计需求分析报告
  • 建设网站企业公司uicn用户体验设计平台
  • 西安有没有网站建设和营销的培训wordpress怎样删除主题
  • 自己怎么建设收费电影网站龙口网站建设价格