首页 > 其他 > 详细

FR801xH开发

时间:2021-07-20 16:42:45      阅读:51      评论:0      收藏:0      [点我收藏+]

一、空间分配

技术分享图片

二、代码流程

技术分享图片

1)user_custom_parameters 函数

__jump_table 结构体中保存了一些配置信息:
技术分享图片

void user_custom_parameters(void)
{
  /******* 设置本机蓝牙地址  *********/
  __jump_table.addr.addr[0] = 0x01;
  __jump_table.addr.addr[1] = 0x01;
  __jump_table.addr.addr[2] = 0x01;
  __jump_table.addr.addr[3] = 0x01;
  __jump_table.addr.addr[4] = 0x01;
  __jump_table.addr.addr[5] = 0xc1;

  __jump_table.image_size = 0x19000; // 程序文件上限 100KB
  __jump_table.firmware_version = 0x00010000; //版本信息
  __jump_table.system_clk = SYSTEM_SYS_CLK_48M; //系统时钟为 48M

  //协议栈中使用的key(包括 IRK,椭圆曲线加密算法中的 public key 和 privatekey)在 flash 中的保存地址为 0x30000
  jump_table_set_static_keys_store_offset(0x30000);
}

2)user_entry_before_ble_init 函数

void user_entry_before_ble_init(void)
{
  /* set system power supply in BUCK mode */
  pmu_set_sys_power_mode(PMU_SYS_POW_BUCK);
  pmu_enable_irq(PMU_ISR_BIT_ACOK
  | PMU_ISR_BIT_ACOFF
  | PMU_ISR_BIT_ONKEY_PO
  | PMU_ISR_BIT_OTP
  | PMU_ISR_BIT_LVD
  | PMU_ISR_BIT_BAT
  | PMU_ISR_BIT_ONKEY_HIGH);
  NVIC_EnableIRQ(PMU_IRQn);
  /* AT command interface */
  app_at_init();
  ……
}

3)user_entry_after_ble_init 函数

user_entry_after_ble_init 为 BLE stack 在系统中初始化完成并成功创建 BLE stack task 后,用户进行自定义行为的入口
技术分享图片

4)睡眠唤醒用户接口

技术分享图片

  1. user_entry_before_sleep_imp
    该函数在进入睡眠前被调用,用户可在里面实现控制 GPIO 的状态保持
  2. user_entry_after_sleep_imp
    在系统唤醒后,用户可以在该函数中重新进行外设的初始化(进入睡眠后外设的状态因为掉电都会丢失)等操作

FR801xH开发

原文:https://www.cnblogs.com/taury/p/15035350.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!