历史上的今天
返回首页

历史上的今天

今天是:2025年06月18日(星期三)

正在发生

2018年06月18日 | STM32时钟代码的解析,以及启动函数的指针跳转

2018-06-18 来源:eefocus

RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE;    //HSE表示使用外部时钟,HSI表示使用的是内部时钟


  RCC_OscInitStruct.HSEState = RCC_HSE_ON; //  打开外部时钟


  RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON; 


  RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE;  //时钟源设置


  RCC_OscInitStruct.PLL.PLLMUL = RCC_PLL_MUL6;  //表示6倍频率,如果外部时钟源是8MHZ,那么6倍的倍频就是48MHZ

 
  RCC_OscInitStruct.PLL.PREDIV = RCC_PREDIV_DIV1;  // 对时钟源的分频  如果是48MHZ,,2分频就是24MHZ

  
  HAL_RCC_OscConfig(&RCC_OscInitStruct);

 

 

#define RCC_OSCILLATORTYPE_NONE            ((uint32_t)0x00000000)


#define RCC_OSCILLATORTYPE_HSE             ((uint32_t)0x00000001)


#define RCC_OSCILLATORTYPE_HSI             ((uint32_t)0x00000002) 


#define RCC_OSCILLATORTYPE_LSE             ((uint32_t)0x00000004)  //低频外部时钟


#define RCC_OSCILLATORTYPE_LSI             ((uint32_t)0x00000008)//低频内部时钟


#define RCC_OSCILLATORTYPE_HSI14           ((uint32_t)0x00000010)

 

低频时钟只是用于RTC,RTC主要用来做低功耗

 

 

void IAP_Set(void)
{
   uint32_t i = 0;

/* Relocate by software the vector table to the internal SRAM at 0x20000000 ***/ 

  /* Copy the vector table from the Flash (mapped at the base of the application
     load address 0x08003000) to the base address of the SRAM at 0x20000000. */       
  for(i = 0; i < 48; i++)
  {
    *((uint32_t*)(0x20000000 + (i << 2)))=*(__IO uint32_t*)(APPLICATION_ADDRESS + (i<<2));
 }
  /* Enable the SYSCFG peripheral clock*/ 
 RCC->APB2ENR |= RCC_APB2ENR_SYSCFGCOMPEN;
 
 /* Remap SRAM at 0x00000000 */
  Memory_Remap(SYSCFG_MemoryRemap_SRAM); 

#define APPLICATION_ADDRESS                  ((uint32_t)0x08004000)     函数运行的地址,有boot的时候函数是从自己设置的地址开始运行的


推荐阅读

史海拾趣

AUREL公司的发展小趣事

AUREL公司早期在电子行业中并不显眼,直到它成功研发出一款具有革命性的半导体芯片。这款芯片在功耗、性能和稳定性上都达到了前所未有的水平,立刻引起了市场的广泛关注。公司通过积极的市场推广和技术合作,逐渐打开了国内外市场,奠定了在电子行业中的技术领先地位。

DAPAudio公司的发展小趣事

随着数字化和智能化的快速发展,音频处理行业也面临着巨大的变革。DAPAudio积极应对这一变革,不断推出适应市场需求的新产品和技术。通过与科技公司、高校和研究机构的合作,DAPAudio在人工智能、物联网等新兴领域取得了重要突破,为公司未来的发展奠定了坚实的基础。

Box Enclosures公司的发展小趣事

随着电子行业的快速发展,市场对机箱和外壳产品的要求也越来越高。Box Enclosures公司敏锐地捕捉到了这一市场变化,开始加大在技术研发上的投入。公司成功开发出一系列具有创新性的产品,不仅满足了市场的需求,还引领了行业的发展方向。这些技术创新为Box Enclosures公司带来了更多的商业机会和市场份额。

芯旺微电子(ChipON)公司的发展小趣事

随着市场需求的不断变化和技术的不断进步,芯旺微电子不断拓展产品线,覆盖了从8位到32位不同性能的MCU产品。同时,公司还积极研发DSP、数模混合SOC等多元化产品,以满足不同领域的需求。这些产品的推出不仅丰富了芯旺微电子的产品线,也进一步提升了其在电子行业中的竞争力。

City_Technology公司的发展小趣事

随着业务的不断扩展,City Technology于1990年在英国南海岸的普茨茅斯建立了生产基地,并将办公楼从伦敦中心区迁至该地。这一举措不仅提高了公司的生产效率,也为其进一步拓展国际市场提供了有力支持。此后,公司开始在全球范围内设立销售中心,包括波恩(德国)、苏黎世(瑞士)、上海及芝加哥等地,逐步实现了业务的国际化。

Digital Equipment Corp公司的发展小趣事

DEC始终致力于技术创新和产品研发。在20世纪70年代和80年代,DEC推出了一系列具有划时代意义的计算机产品,如PDP系列计算机和VAX系列计算机。这些产品在技术上处于领先地位,受到了市场和客户的广泛认可。此外,DEC还通过国际扩张策略,将其业务拓展到了全球范围内,进一步巩固了其市场地位。

问答坊 | AI 解惑

TCP/IP协议详解打包版

应网友要求,将之前网友上传的TCP/IP协议详解的资料做了压缩包,方便大家下载,回馈大家对我们一如既往的支持!…

查看全部问答>

关于网络内存池及SOCKET TIME_WAIT求助

最近在vxworks +arm9 88e6218上移植goahead server 现在出现了问题! 访问页面50次左右的时候,tNetTask抛出S_netBufLib_NO_POOL_MEMORY错误, 后来将内存池设大后,能访问页面的次数比以前多了些,但是任然有S_netBufLib_NO_POOL_MEMORY错误, ...…

查看全部问答>

我的cisco2600路由器被人把IOS删掉了,我要从另一个2600路由器下载IOS,怎么下呢??高分求助!

        我用的是COPY FLASH  TFTP命令 ,但是总是报错:TFTP://10.1.1.3 timeout 10.1.1.3是我设置的本机IP。 怎么解决呢》?求高手指教啊 …

查看全部问答>

make后的问题

在make后,提示出现一个error 请指正错误在哪? 谢谢 [root@localhost qt-serial]# make g++ -c -pipe -DQWS -fno-exceptions -fno-rtti -Wall -W -O2 -fno-default-inline -DNO_DEBUG -I/working/qt/qt-2.3.7/include -o hello.o hello.cpp I ...…

查看全部问答>

2008 Google 开发者日活动,火速报名中

Google开发者日活动 和Google的工程师、业界同行们交流利用Google的各种开发工具去构建您的社区应用、移动应用、地图应用,或者基于 AJAXJavaScript的网络应用。 2008年6月12日,北京 北京亚运村北京国际会议中心 报名地址:httpcode.google.co ...…

查看全部问答>

求救各位高手:关于键盘输入和中断程序,在线等

我编了一个键盘输入程序,因为里面需要检测按键是否有效,所以在延时上采用的时定时器周期中断,中断服务程序中设有变量,以检测按键状态,现在我得定时器周期中断程序和按键输入程序都编译链接好了并且建立在一个工程文件中(都是汇编的),可是我 ...…

查看全部问答>

bootload问题

请教各位,程序用仿真器跑通了 然后烧片子脱机跑就出问题了,脱机前面程序也可以执行,就是最后没有输出 不知道仿真器和脱机跑有什么不同之处? 程序有1600多行,EEPROM有8×8K   附上boot转换程序: priii.out -I -map priii.mxp ...…

查看全部问答>

大家画电子设计整体框图是怎么画的?

本帖最后由 paulhyde 于 2014-9-15 09:44 编辑 期待能够被推荐及款好用的经典工具软件用来画整体框图,程序流程和电路图。  …

查看全部问答>

2011年10月编程语言排行榜

看来嵌入式用的C语言依旧坚挺,始终保持在第二的位置…

查看全部问答>