导航

    Freqchip开发者论坛

    • 注册
    • 登录
    • 搜索
    • 版块
    • 最新
    1. 主页
    2. liurenwoxing
    3. 帖子
    L
    • 继续与 liurenwoxing 聊天
    • 开始与 liurenwoxing 的新会话
    • 举报资料
    • 资料
    • 关注
    • 粉丝
    • 屏蔽
    • 主题
    • 帖子
    • 最佳
    • 群组

    liurenwoxing 发布的帖子

    • RE: 更改FR8008GP向量地址

      @zr boot的链接文件如下,另外BOOT和APP 项目都放在网盘了请看一下,tks!
      ROM 0x10000000 0x100000
      {
      ER_TABLE +0
      {
      *(jump_table_0)
      *(jump_table_1)
      *(jump_table_2)
      *(jump_table_3)
      *(jump_table_4)
      }

      ER_RO 0x10002000 FIXED
      {
          *(+RO)
      }
      
      GUI_MENU_DATA +0 ALIGN 0x4
      {
          *(gui_menu)
      }
      
      ER_BOOT 0x11000000
      {
          boot_vectors.o (RESET, +FIRST)
      }
      
      USER_RE_RAM 0x11001000
      {
          *(ram_code)
      }
      
      ER_RW +0
      {
          *(+RW)
          *(STACK)
      }
      
      ER_STACK +0
      {
          *(stack_section)
      }
      
      ER_ZI +0
      {
          *(+ZI)
      }
      
      HEAP_KE +0 
      {
          *(heap_ke)
      }
      

      }

      通过网盘分享的文件:boot+app test.7z
      链接: https://pan.baidu.com/s/1ZL5vgl7WnTJUj5C-x75TmA 提取码: 35xt

      发布在 FR800x
      L
      liurenwoxing
    • RE: 更改FR8008GP向量地址

      @zr APP 的 sct偏移128KB bootloader 空间
      ROM 0x10020000 0x01000000;0x100000
      {
      ER_TABLE +0
      {
      *(jump_table_0)
      *(jump_table_1)
      *(jump_table_2)
      *(jump_table_3)
      *(jump_table_4)
      }

      ER_RO 0x10022000 FIXED
      {
          *(+RO)
      }
      
      GUI_MENU_DATA +0 ALIGN 0x4
      {
          *(gui_menu)
      }
      
      ER_BOOT 0x11000000
      {
          boot_vectors.o (RESET, +FIRST)
      }
      
      USER_RE_RAM 0x11001000
      {
          *(ram_code)
      }
      
      ER_RW +0
      {
          *(+RW)
          *(STACK)
      }
      
      ER_STACK +0
      {
          *(stack_section)
      }
      
      ER_ZI +0
      {
          *(+ZI)
      }
      
      HEAP_KE +0 
      {
          *(heap_ke)
      }
      

      }

      typedef void (*func_ptr_t)(void);

      static uint32_t JumpAddr;
      static func_ptr_t JumpToApp;
      /**

      • @brief Jump from boot to app function.
      • @param [in] u32Addr APP address
      • @retval LL_ERR APP address error
        */
        int32_t IAP_JumpToApp(uint32_t u32Addr) // u32Addr = 0X10022000 // 0X20000 128KB bootloader 空间 + 0X2000偏移8KB jump表
        {
        uint32_t u32StackTop = *((__IO uint32_t *)(u32Addr));
          IAP_PeriphDeinit();
          /* Jump to user application */
          JumpAddr = *(__IO uint32_t *)(u32Addr +4);//
      			printf("3 JumpAddr =  0x%08X \r\n",JumpAddr );
          JumpToApp = (func_ptr_t)JumpAddr;
          /* Initialize user application's Stack Pointer */
      
      			__set_MSP(u32StackTop);  // 
      			
      			SCB->VTOR = u32Addr ;       // 
      
          JumpToApp();
      

      // app_boot_retarget(u32Addr);

      return LL_ERR;
      

      }

      发布在 FR800x
      L
      liurenwoxing
    • RE: 更改FR8008GP向量地址

      @zr 有没有IAP跳转的例程可以参考的啊?

      发布在 FR800x
      L
      liurenwoxing
    • RE: 更改FR8008GP向量地址

      @zr 有改ROM 0x10020000 0x01000000;0x100000

      发布在 FR800x
      L
      liurenwoxing
    • RE: 更改FR8008GP向量地址

      @zr 我现在是我的boot正常工作,可以收到上位机发送过来的数据并可以写入到FR8008GP 0x10020000地址即预留了128KB的boot flash空间,现在要跳到0x10020000地址。
      1.现在看起来跳转不正常 APP没工作,FR8008GP也没有重启。
      2.APP中,SCT jump_table空间是否可以注释掉 ER_TABLE +0,还是要怎样 处理?
      ; {
      ; *(jump_table_0)
      ; *(jump_table_1)
      ; *(jump_table_2)
      ; *(jump_table_3)
      ; *(jump_table_4)
      ; }
      3.这个FR800X和其他MCU有区别啊,项目里面也看不到像其他M3 MCU SystemInit()设置app 的SCB->VTOR = 0x10020000;

      发布在 FR800x
      L
      liurenwoxing
    • RE: 更改FR8008GP向量地址

      @zr 跳转卡死在这里 __set_MSP((volatile uint32_t)CoreRemapStart->MSP);,会是什么原因呢?

      发布在 FR800x
      L
      liurenwoxing
    • RE: 更改FR8008GP向量地址

      好的谢谢!另外这个结构体是如何 定义的呢 str_CoreRemapStart_t

      发布在 FR800x
      L
      liurenwoxing
    • 更改FR8008GP向量地址

      做boot+app,如何更改FR8008GP向量地址?

      发布在 FR800x
      L
      liurenwoxing
    • RE: PE0初始化上拉输入

      @mars 在 PE0初始化上拉输入 中说:

      GPIO_PULL_UP
      👍
      GPIO_Handle.Pull = GPIO_PULLUP;
      pmu_set_pin_pull (GPIO_PORT_E, BIT(0), GPIO_PULL_UP);
      库定义两个上拉枚举,相差一个下斜杠,确实容易弄错,记录一下✊

      发布在 FR800x
      L
      liurenwoxing
    • RE: PE0初始化上拉输入

      @mars 在 PE0初始化上拉输入 中说:

      pmu_get_gpio_value(GPIO_PORT_D, GPIO_BIT_6)==0

      👍 PMU方式,确实可以!默认也是高电平了。普通IO方式为什么不行呢?

      发布在 FR800x
      L
      liurenwoxing
    • RE: PE0初始化上拉输入

      gpio_read_pin(GPIO_E, GPIO_PIN_0);这样读也是低电平???

      发布在 FR800x
      L
      liurenwoxing
    • RE: PE0初始化上拉输入

      这样初始化PE0,用万用表测量PE0为什么是低电平?

      发布在 FR800x
      L
      liurenwoxing
    • PE0初始化上拉输入

      // 初始化按键引脚
      __SYSTEM_GPIO_CLK_ENABLE();
      GPIO_InitTypeDef GPIO_Handle;
      GPIO_Handle.Pin = GPIO_PIN_0;
      GPIO_Handle.Mode = GPIO_MODE_INPUT;
      GPIO_Handle.Pull = GPIO_PULL_UP;

      gpio_init(GPIO_E, &GPIO_Handle);

      发布在 FR800x
      L
      liurenwoxing
    • RE: FR8008GP作为Central设备连接HC04 BLE蓝牙从设备,奇怪现象?

      @zr 👍

      发布在 FR800x
      L
      liurenwoxing
    • RE: FR8008GP作为Central设备连接HC04 BLE蓝牙从设备,奇怪现象?

      而且我焊接的板子连接其他BLE从设备模块也可以成功连接。。。

      发布在 FR800x
      L
      liurenwoxing
    • FR8008GP作为Central设备连接HC04 BLE蓝牙从设备,奇怪现象?

      同一版本程序DEMO板可以连接HC04蓝牙模块成功,而我另外打板焊接的板子却连接不上,
      log:Link[0] disconnect,reason:0x3E

      发布在 FR800x
      L
      liurenwoxing
    • RE: FR8008GP合封内部Flash模拟U盘(MSC)

      @mars gitee仓库例程是 存在RAM的,不是存在flash的

      发布在 FR800x
      L
      liurenwoxing