@zr 比如我在0x60000地址烧录Mac地址 ,不勾选Chip Erase选项,烧录工具只会从0x60000地址写6个字节?不会擦除0x60000开始Mac地址后面的数据吧
uplooking
@uplooking
uplooking 发布的帖子
-
RE: Mac地址烧录到flash之后,可以再次擦除更改吗发布在 FR801xH
-
RE: Mac地址烧录到flash之后,可以再次擦除更改吗发布在 FR801xH
@zr 0x60000 一般都是OTA B分区的吧 Mac地址直接烧录到0x60000地址 下次升级的时候会被修改吧
-
Mac地址烧录到flash之后,可以再次擦除更改吗发布在 FR801xH

FR801xH芯片通过烧录软件将Mac地址写入到flash之后,发现写错了,可以重新再次擦除将新的Mac地址写入到flash中吗?
-
关于低功耗问题咨询发布在 FR801xH
请问一下,我现在的软件逻辑是长按按钮开机,调用system_sleep_disable退出低功耗模式,长按按钮关机,调用system_sleep_enable进入低功耗模式。这样频繁的进入和退出低功耗模式,会影响蓝牙广播和连接吗?
-
RE: 寻求低功耗例程发布在 FR801xH
代码如下:
__attribute__((section("ram_code"))) void pmu_gpio_isr_ram(void) { uint32_t gpio_value = ool_read32(PMU_REG_GPIOA_V); // PB5 if (gpio_value & GPIO_PB5) { co_printf("%s gpio_value: %x\r\n", __func__, gpio_value); } else { button_toggle_detected(gpio_value); } // co_printf(" %s gpio_value: %x\r\n", __func__, gpio_value); ool_write32(PMU_REG_PORTA_LAST, gpio_value); } void user_key_init(void) { // 设置上拉 PD7 按键 pmu_set_pin_pull(KEY_GPIO_PORT, (1 << KEY_GPIO_BIT), true); // PB5 外部中断引脚 pmu_set_pin_pull(GPIO_PORT_B, (1 << GPIO_BIT_5), true); // PD7 PB5 pmu_port_wakeup_func_set(KEY_GPIO | GPIO_PB5); button_init(KEY_GPIO); }问题如下:现在有PB5和PD7都设置中断唤醒,在中断处理函数pmu_gpio_isr_ram中如何区分是PD7引脚的中断,还是PB5的中断呢?
-
RE: 寻求低功耗例程发布在 FR801xH
中断处理函数 PD7和PB5
__attribute__((section("ram_code"))) void pmu_gpio_isr_ram(void) { uint32_t gpio_value = ool_read32(PMU_REG_GPIOA_V); button_toggle_detected(gpio_value); co_printf(" %s gpio_value: %x\r\n", __func__, gpio_value); ool_write32(PMU_REG_PORTA_LAST, gpio_value); }按下Key(PD7),运行结果如下:
pmu_gpio_isr_ram gpio_value: 5080a03c
pmu_gpio_isr_ram gpio_value: d080a03c
pmu_gpio_isr_ram gpio_value: 5080a03c
pmu_gpio_isr_ram gpio_value: d080a03c
pmu_gpio_isr_ram gpio_value: 5080a03c
pmu_gpio_isr_ram gpio_value: d080a03c
pmu_gpio_isr_ram gpio_value: 5080a03c
pmu_gpio_isr_ram gpio_value: d080a03c
pmu_gpio_isr_ram gpio_value: 5080a03c
pmu_gpio_isr_ram gpio_value: d080a03c
pmu_gpio_isr_ram gpio_value: 5080a03c
pmu_gpio_isr_ram gpio_value: d080a03c
pmu_gpio_isr_ram gpio_value: 5080a03c
pmu_gpio_isr_ram gpio_value: d080a03c
pmu_gpio_isr_ram gpio_value: 5080a03c
pmu_gpio_isr_ram gpio_value: d080a03c
pmu_gpio_isr_ram gpio_value: 5080a03c
pmu_gpio_isr_ram gpio_value: d080a03c
pmu_gpio_isr_ram gpio_value: 5080a03c
pmu_gpio_isr_ram gpio_value: d080a03c
pmu_gpio_isr_ram gpio_value: 5080a03c
pmu_gpio_isr_ram gpio_value: d080a03c
pmu_gpio_isr_ram gpio_value: 5080a03c
pmu_gpio_isr_ram gpio_value: d080a03c
pmu_gpio_isr_ram gpio_value: 5080a03c
pmu_gpio_isr_ram gpio_value: d080a03c
pmu_gpio_isr_ram gpio_value: 4000a03c
pmu_gpio_isr_ram gpio_value: c000a03c
pmu_gpio_isr_ram gpio_value: 4000a03c
pmu_gpio_isr_ram gpio_value: c000a03c
pmu_gpio_isr_ram gpio_value: 5000a03c
pmu_gpio_isr_ram gpio_value: c000a03c
pmu_gpio_isr_ram gpio_value: 4000a03c
pmu_gpio_isr_ram gpio_value: c000a03c
pmu_gpio_isr_ram gpio_value: 4000a03c
pmu_gpio_isr_ram gpio_value: d080a03c
pmu_gpio_isr_ram gpio_value: 4000a03c
pmu_gpio_isr_ram gpio_value: c000a03c请问一下,为啥同一个按键按下和抬起输出的值不一样? -
flash_protect_enable问题发布在 FR801xH
/********************************************************************* * @fn flash_protect_enable * * @brief protect flash chip from erase and write. * * @param wr_mode - 0: write.enable with command 0x50 * 1: write enable with command 0x06 * * @return None. */ __attribute__((section("ram_code"))) void flash_protect_enable(uint8_t wr_mode); /********************************************************************* * @fn flash_protect_enable1 * * @brief protect flash chip from erase and write. * * @param wr_mode - 0: write.enable with command 0x50 * 1: write enable with command 0x06 * mask protect bits mask, refer to flash spec * * @return None. */ __attribute__((section("ram_code"))) void flash_protect_enable1(uint8_t wr_mode,uint8_t mask); /********************************************************************* * @fn flash_protect_disable * * @brief remove protection flash chip from erase and write. * * @param wr_mode - 0: write.enable with command 0x50 * 1: write enable with command 0x06 * * @return None. */ __attribute__((section("ram_code"))) void flash_protect_disable(uint8_t wr_mode);flash_protect_enable和flash_protect_enable1有什么区别吗?
-
RE: 寻求低功耗例程发布在 FR801xH
__attribute__((section("ram_code"))) void pmu_gpio_isr_ram(void) { uint32_t gpio_value = ool_read32(PMU_REG_GPIOA_V); co_printf("gpio_value: %X\r\n", gpio_value); ool_write32(PMU_REG_PORTA_LAST, gpio_value); }这个PMU中GPIO中断处理函数,可以区分哪一个GPIO吗? 比如我设置PA0,PA1都可以唤醒深度睡眠,如何区分是哪一个IO口触发的中断?