你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32F030 API 功能 基于CUBE库工程移植失败

[复制链接]
luscu 提问时间:2016-11-23 16:04 /
阅读主题, 点击返回1楼
收藏 2 评论24 发布时间:2016-11-23 16:04
24个回答
任风吹吹 回答时间:2016-11-23 18:27:55
由于下班了,时间不够,感觉还是欠考虑,不过可以先试下替换实用你那工程下的binary目录下的system....文件试试
liuxy236@tom.co 回答时间:2016-11-23 19:07:11
路过                    
党国特派员 回答时间:2016-11-23 21:24:01
  1. /* Includes ------------------------------------------------------------------*/
  2. #include "main.h"
  3. #include "stm32f0xx_hal.h"
  4. #include "gpio.h"

  5. /* USER CODE BEGIN Includes */

  6. /* USER CODE END Includes */

  7. /* Private variables ---------------------------------------------------------*/

  8. /* USER CODE BEGIN PV */
  9. /* Private variables ---------------------------------------------------------*/
  10. #define APPLICATION_ADDRESS     (uint32_t)0x08003000

  11. __IO uint32_t VectorTable[48] __attribute__((at(0x20000000)));

  12. pFunction Jump_To_Application;
  13. uint32_t JumpAddress;

  14. /* USER CODE END PV */

  15. /* Private function prototypes -----------------------------------------------*/
  16. void SystemClock_Config(void);
  17. void Error_Handler(void);

  18. /* USER CODE BEGIN PFP */
  19. /* Private function prototypes -----------------------------------------------*/

  20. /* USER CODE END PFP */

  21. /* USER CODE BEGIN 0 */

  22. /* USER CODE END 0 */

  23. int main(void)
  24. {

  25.   /* USER CODE BEGIN 1 */
  26.   for(uint8_t i = 0; i < 48; i++)
  27.   {
  28.     VectorTable[i] = *(__IO uint32_t*)(APPLICATION_ADDRESS + (i<<2));
  29.   }
  30.   /* USER CODE END 1 */

  31.   /* MCU Configuration----------------------------------------------------------*/

  32.   /* Reset of all peripherals, Initializes the Flash interface and the Systick. */
  33.   HAL_Init();

  34.   /* Configure the system clock */
  35.   SystemClock_Config();

  36.   /* Initialize all configured peripherals */
  37.   MX_GPIO_Init();

  38.   /* USER CODE BEGIN 2 */
  39.     /* Test if user code is programmed starting from address "APPLICATION_ADDRESS" */
  40.     //if (((*(__IO uint32_t*)APPLICATION_ADDRESS) & 0x2FFE0000 ) == 0x20000000)
  41.     {
  42.       /* Jump to user application */
  43.       JumpAddress = *(__IO uint32_t*) (APPLICATION_ADDRESS + 4);
  44.       Jump_To_Application = (pFunction) JumpAddress;
  45.       
  46.       /* Initialize user application's Stack Pointer */
  47.       __set_MSP(*(__IO uint32_t*) APPLICATION_ADDRESS);
  48.       
  49.       /* Jump to application */
  50.       Jump_To_Application();
  51.     }
  52.   /* USER CODE END 2 */

  53.   /* Infinite loop */
  54.   /* USER CODE BEGIN WHILE */
  55.   while (1)
  56.   {
  57.   /* USER CODE END WHILE */
  58.         HAL_GPIO_TogglePin(LD3_GPIO_Port,LD3_Pin);
  59.         HAL_Delay(100);
  60.   /* USER CODE BEGIN 3 */

  61.   }
  62.   /* USER CODE END 3 */

  63. }
复制代码
peter001 回答时间:2016-11-24 00:25:38
帮顶
zbber 回答时间:2016-11-24 07:28:40
在说一点,改为:
高二毛 回答时间:2016-11-24 08:26:56
关注一下。。。。
luscu 回答时间:2016-11-24 08:36:59
任风吹吹 发表于 2016-11-23 18:01
看了下,应该是SystemInit()函数问题,从IAP跳转到APP后第一件事情就是需要立即重置VectorTable,你的Syste ...

谢谢,我改为从IAP跳转到APP后第一件事情就是需要立即重置VectorTabl:
int main(void)
{

  /* USER CODE BEGIN 1 */
        uint32_t i = 0;
        for(i = 0; i < 48; i++)
  {
    VectorTable = *(__IO uint32_t*)(APPLICATION_ADDRESS + (i<<2));
  }
  /* USER CODE END 1 */
               
  /* MCU Configuration----------------------------------------------------------*/

  /* Reset of all peripherals, Initializes the Flash interface and the Systick. */
  HAL_Init();

  /* Configure the system clock */
  SystemClock_Config();
这样也是不行。
luscu 回答时间:2016-11-24 08:37:55
任风吹吹 发表于 2016-11-23 18:27
由于下班了,时间不够,感觉还是欠考虑,不过可以先试下替换实用你那工程下的binary目录下的system....文件 ...

当时我也匆匆下班了 ,天气冷了早点回家!
luscu 回答时间:2016-11-24 08:52:16
党国特派员 发表于 2016-11-23 21:23
用CubeMX NUCLEO-F042做了个项目测试了下,没有什么,主要是就是设置IRAM1的起始地址为:0x200000C0
...

非常感谢你的关注!   这个地方我也留意到了 我的APP工程的 flash的起始地址改为:0x8003000, IRAM1的起始地址也是改为:0x200000C0。(API工程是flash的起始地址改为:0x8000000, IRAM1的起始地址也是改为:0x20000000) 还是不行。.请问是否方便把你做成功的工程发过来一起探讨,API工程和APP工程,谢谢
!谢谢!
chaplin1999-262 回答时间:2016-11-24 09:16:06
QQ截图20161124091507.jpg 设置下就好了,我f0 产品一直这么用的

评分

参与人数 1ST金币 +2 收起 理由
zero99 + 2

查看全部评分

所属标签

相似问题

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版