亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? sysinit.s

?? Cortex-M4+example
?? S
?? 第 1 頁 / 共 2 頁
字號:
///////////////////////////////////////////////////////////////////////////////
//                                                                            /
// IAR ANSI C/C++ Compiler V6.40.1.53790/W32 for ARM    09/Aug/2012  10:07:33 /
// Copyright 1999-2012 IAR Systems AB.                                        /
//                                                                            /
//    Cpu mode     =  thumb                                                   /
//    Endian       =  little                                                  /
//    Source file  =  C:\Users\305030973\Desktop\M4                           /
//                    example\01_light\src\Sources\C\Frame_C\sysinit.c        /
//    Command line =  "C:\Users\305030973\Desktop\M4                          /
//                    example\01_light\src\Sources\C\Frame_C\sysinit.c" -D    /
//                    IAR -D TWR_K60N512 -lCN "C:\Users\305030973\Desktop\M4  /
//                    example\01_light\bin\Flash\List\" -lB                   /
//                    "C:\Users\305030973\Desktop\M4                          /
//                    example\01_light\bin\Flash\List\" -o                    /
//                    "C:\Users\305030973\Desktop\M4                          /
//                    example\01_light\bin\Flash\Obj\" --no_cse --no_unroll   /
//                    --no_inline --no_code_motion --no_tbaa --no_clustering  /
//                    --no_scheduling --debug --endian=little                 /
//                    --cpu=Cortex-M4 -e --fpu=None --dlib_config             /
//                    "C:\Program Files\IAR Systems\Embedded Workbench        /
//                    6.4_2\arm\INC\c\DLib_Config_Normal.h" -I                /
//                    "C:\Users\305030973\Desktop\M4                          /
//                    example\01_light\src\Sources\H\" -I                     /
//                    "C:\Users\305030973\Desktop\M4                          /
//                    example\01_light\src\Sources\H\Component_H\" -I         /
//                    "C:\Users\305030973\Desktop\M4                          /
//                    example\01_light\src\Sources\H\Frame_H\" -I             /
//                    "C:\Program Files\IAR Systems\Embedded Workbench        /
//                    6.4_2\arm\INC\" -I "C:\Program Files\IAR                /
//                    Systems\Embedded Workbench 6.4_2\arm\INC\CLIB\" -Ol     /
//                    --use_c++_inline                                        /
//    List file    =  C:\Users\305030973\Desktop\M4                           /
//                    example\01_light\bin\Flash\List\sysinit.s               /
//                                                                            /
//                                                                            /
///////////////////////////////////////////////////////////////////////////////

        NAME sysinit

        #define SHT_PROGBITS 0x1
        #define SHF_WRITE 0x1
        #define SHF_EXECINSTR 0x4

        PUBLIC core_clk_khz
        PUBLIC core_clk_mhz
        PUBLIC fb_clk_init
        PUBLIC periph_clk_khz
        PUBLIC pll_init
        PUBLIC set_sys_dividers
        PUBLIC sysinit
        PUBLIC trace_clk_init

// C:\Users\305030973\Desktop\M4 example\01_light\src\Sources\C\Frame_C\sysinit.c
//    1 //-------------------------------------------------------------------------*
//    2 // 文件名:sysinit.c                                                        *
//    3 // 說  明: 系統配置文件                                                    *
//    4 //-------------------------------------------------------------------------*
//    5 
//    6 #include "sysinit.h"	//頭文件
//    7 
//    8 //全局變量聲明

        SECTION `.bss`:DATA:REORDER:NOROOT(2)
//    9 int core_clk_khz;
core_clk_khz:
        DS8 4

        SECTION `.bss`:DATA:REORDER:NOROOT(2)
//   10 int core_clk_mhz;
core_clk_mhz:
        DS8 4

        SECTION `.bss`:DATA:REORDER:NOROOT(2)
//   11 int periph_clk_khz;
periph_clk_khz:
        DS8 4
//   12 
//   13 //-------------------------------------------------------------------------*
//   14 //函數名: sysinit                                                          *
//   15 //功  能: 系統設置                                                         * 
//   16 //參  數: 無						  	           *	
//   17 //返  回: 無                                                               *
//   18 //說  明: 無                                                               *
//   19 //-------------------------------------------------------------------------*

        SECTION `.text`:CODE:NOROOT(1)
        THUMB
//   20 void sysinit (void)
//   21 {
sysinit:
        PUSH     {R7,LR}
//   22     //使能IO端口時鐘    
//   23     SIM_SCGC5 |= (SIM_SCGC5_PORTA_MASK
//   24                               | SIM_SCGC5_PORTB_MASK
//   25                               | SIM_SCGC5_PORTC_MASK
//   26                               | SIM_SCGC5_PORTD_MASK
//   27                               | SIM_SCGC5_PORTE_MASK );
        LDR.N    R0,??DataTable3  ;; 0x40048038
        LDR      R0,[R0, #+0]
        ORRS     R0,R0,#0x3E00
        LDR.N    R1,??DataTable3  ;; 0x40048038
        STR      R0,[R1, #+0]
//   28 
//   29     //開啟系統時鐘
//   30     core_clk_mhz = pll_init(CORE_CLK_MHZ, REF_CLK);
        MOVS     R1,#+3
        MOVS     R0,#+2
        BL       pll_init
        LDR.N    R1,??DataTable3_1
        STR      R0,[R1, #+0]
//   31     //通過pll_init函數的返回值來計算內核時鐘和外設時鐘
//   32     core_clk_khz = core_clk_mhz * 1000;
        LDR.N    R0,??DataTable3_1
        LDR      R0,[R0, #+0]
        MOV      R1,#+1000
        MULS     R0,R1,R0
        LDR.N    R1,??DataTable3_2
        STR      R0,[R1, #+0]
//   33     periph_clk_khz = core_clk_khz / (((SIM_CLKDIV1 & SIM_CLKDIV1_OUTDIV2_MASK) >> 24)+ 1);
        LDR.N    R0,??DataTable3_2
        LDR      R0,[R0, #+0]
        LDR.N    R1,??DataTable3_3  ;; 0x40048044
        LDR      R1,[R1, #+0]
        UBFX     R1,R1,#+24,#+4
        ADDS     R1,R1,#+1
        UDIV     R0,R0,R1
        LDR.N    R1,??DataTable3_4
        STR      R0,[R1, #+0]
//   34     //使能跟蹤時鐘,用于調試
//   35     trace_clk_init();	
        BL       trace_clk_init
//   36     //FlexBus時鐘初始化
//   37     fb_clk_init();
        BL       fb_clk_init
//   38 
//   39 }
        POP      {R0,PC}          ;; return
//   40 
//   41 //-------------------------------------------------------------------------*
//   42 //函數名: trace_clk_init                                                   *
//   43 //功  能: 跟蹤時鐘初始化                                                   * 
//   44 //參  數: 無							  	   *	
//   45 //返  回: 無                                                               *
//   46 //說  明: 用于調試                                                         *
//   47 //-------------------------------------------------------------------------*

        SECTION `.text`:CODE:NOROOT(1)
        THUMB
//   48 void trace_clk_init(void)
//   49 {
//   50     //設置跟蹤時鐘為內核時鐘
//   51     SIM_SOPT2 |= SIM_SOPT2_TRACECLKSEL_MASK;	
trace_clk_init:
        LDR.N    R0,??DataTable3_5  ;; 0x40048004
        LDR      R0,[R0, #+0]
        ORRS     R0,R0,#0x1000
        LDR.N    R1,??DataTable3_5  ;; 0x40048004
        STR      R0,[R1, #+0]
//   52     //在PTA6引腳上使能TRACE_CLKOU功能
//   53     PORTA_PCR6 = ( PORT_PCR_MUX(0x7));
        LDR.N    R0,??DataTable3_6  ;; 0x40049018
        MOV      R1,#+1792
        STR      R1,[R0, #+0]
//   54 }
        BX       LR               ;; return
//   55 
//   56 //-------------------------------------------------------------------------*
//   57 //函數名: fb_clk_init                                                      *
//   58 //功  能: FlexBus時鐘初始化                                                * 
//   59 //參  數: 無								   *	
//   60 //返  回: 無                                                               *
//   61 //說  明:                                                                  *
//   62 //-------------------------------------------------------------------------*

        SECTION `.text`:CODE:NOROOT(1)
        THUMB
//   63 void fb_clk_init(void)
//   64 {
//   65     //使能FlexBus模塊時鐘
//   66     SIM_SCGC7 |= SIM_SCGC7_FLEXBUS_MASK;
fb_clk_init:
        LDR.N    R0,??DataTable3_7  ;; 0x40048040
        LDR      R0,[R0, #+0]
        ORRS     R0,R0,#0x1
        LDR.N    R1,??DataTable3_7  ;; 0x40048040
        STR      R0,[R1, #+0]
//   67     //在PTA6引腳上使能FB_CLKOUT功能
//   68     PORTC_PCR3 = ( PORT_PCR_MUX(0x5));
        LDR.N    R0,??DataTable3_8  ;; 0x4004b00c
        MOV      R1,#+1280
        STR      R1,[R0, #+0]
//   69 }
        BX       LR               ;; return
//   70 
//   71 //-------------------------------------------------------------------------*
//   72 //函數名: pll_init                                                         *
//   73 //功  能: pll初始化                                                        * 
//   74 //參  數: clk_option:時鐘選項						   * 
//   75 //		  crystal_val:時鐘值                                       *	
//   76 //返  回: 時鐘頻率值                                                       *
//   77 //說  明:                                                                  *
//   78 //-------------------------------------------------------------------------*

        SECTION `.text`:CODE:NOROOT(1)
        THUMB
//   79 unsigned char pll_init(unsigned char clk_option, unsigned char crystal_val)
//   80 {
pll_init:
        PUSH     {R7,LR}
        MOVS     R2,R1
//   81     unsigned char pll_freq;
//   82     
//   83     if (clk_option > 3) {return 0;}   //如果沒有選擇可用的選項則返回0
        UXTB     R0,R0            ;; ZeroExt  R0,R0,#+24,#+24
        CMP      R0,#+4
        BCC.N    ??pll_init_0
        MOVS     R0,#+0
        B.N      ??pll_init_1
//   84     if (crystal_val > 15) {return 1;} // 如果如果可用的晶體選項不可用則返回1
??pll_init_0:
        UXTB     R2,R2            ;; ZeroExt  R2,R2,#+24,#+24
        CMP      R2,#+16
        BCC.N    ??pll_init_2
        MOVS     R0,#+1
        B.N      ??pll_init_1
//   85     
//   86     //這里處在默認的FEI模式
//   87     //首先移動到FBE模式
//   88     #if (defined(K60_CLK) || defined(ASB817))
//   89              MCG_C2 = 0;
??pll_init_2:
        LDR.N    R2,??DataTable3_9  ;; 0x40064001
        MOVS     R3,#+0
        STRB     R3,[R2, #+0]
//   90     #else
//   91              //使能外部晶振
//   92              MCG_C2 = MCG_C2_RANGE(2) | MCG_C2_HGO_MASK | MCG_C2_EREFS_MASK;
//   93     #endif
//   94     
//   95     //初始化晶振后釋放鎖定狀態的振蕩器和GPIO
//   96     SIM_SCGC4 |= SIM_SCGC4_LLWU_MASK;
        LDR.N    R2,??DataTable3_10  ;; 0x40048034
        LDR      R2,[R2, #+0]
        ORRS     R2,R2,#0x10000000
        LDR.N    R3,??DataTable3_10  ;; 0x40048034
        STR      R2,[R3, #+0]
//   97     LLWU_CS |= LLWU_CS_ACKISO_MASK;
        LDR.N    R2,??DataTable3_11  ;; 0x4007c008
        LDRB     R2,[R2, #+0]
        ORRS     R2,R2,#0x80
        LDR.N    R3,??DataTable3_11  ;; 0x4007c008
        STRB     R2,[R3, #+0]
//   98     
//   99     //選擇外部晶振,參考分頻器,清IREFS來啟動外部晶振
//  100     MCG_C1 = MCG_C1_CLKS(2) | MCG_C1_FRDIV(3);
        LDR.N    R2,??DataTable3_12  ;; 0x40064000
        MOVS     R3,#+152
        STRB     R3,[R2, #+0]
//  101     
//  102     //等待晶振穩定	
//  103     #if (!defined(K60_CLK) && !defined(ASB817))
//  104     while (!(MCG_S & MCG_S_OSCINIT_MASK)){};  
//  105     #endif
//  106     
//  107     //等待參考時鐘狀態位清零
//  108     while (MCG_S & MCG_S_IREFST_MASK){}; 
??pll_init_3:
        LDR.N    R2,??DataTable3_13  ;; 0x40064006
        LDRB     R2,[R2, #+0]
        LSLS     R2,R2,#+27
        BMI.N    ??pll_init_3
//  109     //等待時鐘狀態位顯示時鐘源來自外部參考時鐘
//  110     while (((MCG_S & MCG_S_CLKST_MASK) >> MCG_S_CLKST_SHIFT) != 0x2){}; 
??pll_init_4:
        LDR.N    R2,??DataTable3_13  ;; 0x40064006
        LDRB     R2,[R2, #+0]
        UBFX     R2,R2,#+2,#+2
        UXTB     R2,R2            ;; ZeroExt  R2,R2,#+24,#+24
        CMP      R2,#+2
        BNE.N    ??pll_init_4
//  111     
//  112     //進入FBE模式
//  113     #if (defined(K60_CLK))
//  114     MCG_C5 = MCG_C5_PRDIV(0x18);
        LDR.N    R2,??DataTable3_14  ;; 0x40064004
        MOVS     R3,#+24
        STRB     R3,[R2, #+0]
//  115     #else
//  116     
//  117     //配置PLL分頻器來匹配所用的晶振
//  118     MCG_C5 = MCG_C5_PRDIV(crystal_val); 
//  119     #endif
//  120     
//  121     //確保MCG_C6處于復位狀態,禁止LOLIE、PLL、和時鐘控制器,清PLL VCO分頻器
//  122     MCG_C6 = 0x0;
        LDR.N    R2,??DataTable3_15  ;; 0x40064005
        MOVS     R3,#+0
        STRB     R3,[R2, #+0]
//  123     //選擇PLL VCO分頻器,系統時鐘分頻器取決于時鐘選項
//  124     switch (clk_option) {
        UXTB     R0,R0            ;; ZeroExt  R0,R0,#+24,#+24
        CMP      R0,#+0
        BEQ.N    ??pll_init_5
        CMP      R0,#+2
        BEQ.N    ??pll_init_6
        BCC.N    ??pll_init_7
        CMP      R0,#+3
        BEQ.N    ??pll_init_8
        B.N      ??pll_init_9
//  125     case 0:
//  126       //設置系統分頻器
//  127       //MCG=PLL, core = MCG, bus = MCG, FlexBus = MCG, Flash clock= MCG/2
//  128       set_sys_dividers(0,0,0,1);
??pll_init_5:

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品无人区| 国产suv精品一区二区883| 久久国产乱子精品免费女| 成人激情av网| 日韩精品一区二区三区在线观看| 亚洲品质自拍视频| 国产综合色在线| 7777精品伊人久久久大香线蕉经典版下载| 久久综合九色综合欧美98| 亚洲观看高清完整版在线观看 | 99精品久久久久久| 精品久久久久av影院| 亚洲成av人片在线观看| aa级大片欧美| 国产女主播一区| 国内外成人在线视频| 欧美精品 日韩| 亚洲国产精品久久人人爱蜜臀| 不卡的电视剧免费网站有什么| 久久综合久久99| 精品一区二区三区影院在线午夜 | 一区二区免费视频| 99re视频精品| 中文字幕一区二区三区视频| 国产69精品一区二区亚洲孕妇| 精品国产三级电影在线观看| 日韩黄色在线观看| 欧美久久一区二区| 日韩精品色哟哟| 这里只有精品99re| 天天做天天摸天天爽国产一区| 欧美视频在线一区二区三区| 亚洲一区视频在线| 在线观看精品一区| 亚瑟在线精品视频| 正在播放亚洲一区| 精品制服美女久久| 久久久91精品国产一区二区精品| 国产一区二区三区国产| 欧美激情综合五月色丁香 | 九九久久精品视频 | 日韩欧美一级二级三级| 日韩电影在线观看网站| 日韩西西人体444www| 激情亚洲综合在线| 久久精品一区二区三区四区| 国产99精品在线观看| 亚洲天堂av一区| 在线看国产一区二区| 亚洲成人一区二区在线观看| 91精品国产色综合久久ai换脸| 久久aⅴ国产欧美74aaa| 久久久久久久久蜜桃| 不卡av电影在线播放| 一区二区三区在线免费观看| 欧美精品粉嫩高潮一区二区| 韩国中文字幕2020精品| 国产精品国产馆在线真实露脸| 色悠悠久久综合| 蜜臀91精品一区二区三区| 国产偷v国产偷v亚洲高清 | 成人av电影在线观看| 亚洲精品国产一区二区三区四区在线| 色先锋资源久久综合| 日本aⅴ精品一区二区三区 | 亚洲二区视频在线| 欧美成人高清电影在线| av激情综合网| 日本vs亚洲vs韩国一区三区二区| 国产精品入口麻豆九色| 在线电影一区二区三区| 成人午夜伦理影院| 麻豆成人av在线| 亚洲综合丝袜美腿| 久久亚洲精品小早川怜子| 欧美午夜精品一区二区蜜桃| 国产一区二区三区av电影| 亚洲精品va在线观看| 国产午夜精品久久久久久免费视 | 2024国产精品| 欧美三级日韩在线| 丁香天五香天堂综合| 亚洲电影视频在线| 中文字幕在线观看一区二区| 日韩手机在线导航| 欧美在线观看视频一区二区| 成人午夜看片网址| 国产一区二区在线观看免费| 视频一区中文字幕| 一区二区三区国产| 中文字幕在线不卡视频| 精品国产露脸精彩对白| 欧美色精品在线视频| 99国产欧美久久久精品| 国产精品系列在线播放| 久久精品国内一区二区三区| 亚洲一区二区三区美女| 中文字幕在线一区免费| 国产视频在线观看一区二区三区 | 国产精品免费人成网站| 26uuu亚洲| 日韩欧美一区二区视频| 欧美一区二区视频免费观看| 在线免费观看成人短视频| 91在线云播放| 成人激情黄色小说| 国产999精品久久久久久绿帽| 国模娜娜一区二区三区| 激情小说欧美图片| 国产资源精品在线观看| 激情久久五月天| 国产一区欧美一区| 国产一区二区久久| 国产成人精品一区二区三区网站观看| 极品少妇xxxx精品少妇偷拍| 国内精品久久久久影院一蜜桃| 麻豆91精品视频| 精品一区中文字幕| 国产精品一区2区| 国产成人aaa| 成人开心网精品视频| 99天天综合性| 欧美性感一区二区三区| 欧美日韩国产高清一区| 欧美一区二区视频在线观看2022 | 国产一区二区精品久久91| 国产精品一区二区在线播放 | 中文字幕日韩欧美一区二区三区| 国产精品亲子乱子伦xxxx裸| 中文字幕一区二区三区在线观看| 日韩一区中文字幕| 亚洲一区在线观看视频| 免费成人性网站| 国产精品综合在线视频| 91亚洲午夜精品久久久久久| 欧美视频中文字幕| 欧美xxxxxxxxx| 国产精品传媒视频| 婷婷成人激情在线网| 国内精品久久久久影院一蜜桃| 成人av网站大全| 欧美日韩国产a| 国产欧美一区二区三区在线老狼 | 欧美天堂亚洲电影院在线播放| 91.麻豆视频| 国产亚洲一二三区| 亚洲综合视频在线| 紧缚奴在线一区二区三区| 91视频国产资源| 日韩精品一区二区三区在线播放| 国产精品电影一区二区| 五月婷婷欧美视频| 成人91在线观看| 日韩午夜三级在线| 亚洲精品视频在线看| 久久精品99国产精品| 91丨porny丨最新| 精品国产乱码91久久久久久网站| 亚洲色图都市小说| 久久99精品国产.久久久久 | 亚洲影视在线播放| 国产传媒欧美日韩成人| 欧美精品aⅴ在线视频| 中文字幕亚洲一区二区av在线 | 不卡高清视频专区| 欧美变态凌虐bdsm| 亚洲乱码一区二区三区在线观看| 国产在线观看一区二区| 欧美午夜片在线观看| 国产精品久久久久婷婷二区次| 免费黄网站欧美| 欧美性色黄大片| 国产偷国产偷精品高清尤物| 免费在线看成人av| 欧美性猛片aaaaaaa做受| 中文字幕一区二区在线播放| 国产成人在线电影| 欧美videossexotv100| 亚洲成人av电影在线| 色久优优欧美色久优优| 中文字幕一区二区在线播放| 国产精品一二三区在线| 日韩三级av在线播放| 日韩电影网1区2区| 欧美视频一区二| 日韩理论片一区二区| 成人福利视频网站| 国产区在线观看成人精品| 久久成人久久爱| 欧美久久婷婷综合色| 亚洲国产综合色| 成人av小说网| 国产欧美日韩三区| 国产成人免费视频网站 | 亚洲天堂成人网| 99久久免费精品| 亚洲精品国产第一综合99久久| 色综合久久久网| 樱花草国产18久久久久| 欧美亚洲日本一区|