wi-fi - mbedハマったところ、その(2) 17 system_lpc11uxx.c #define clock_setup 1 #define...

28
TSUBOI Yoshihiro (@ytsuboi) 節子でWi-Fi

Upload: others

Post on 21-May-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Wi-Fi - Mbedハマったところ、その(2) 17 system_LPC11Uxx.c #define CLOCK_SETUP 1 #define SYSOSCCTRL_Val 0x00000000 #define WDTOSCCTRL_Val 0x00000000 #define SYSPLLCTRL_Val

TSUBOI Yoshihiro (@ytsuboi)

節子でWi-Fi!

Page 2: Wi-Fi - Mbedハマったところ、その(2) 17 system_LPC11Uxx.c #define CLOCK_SETUP 1 #define SYSOSCCTRL_Val 0x00000000 #define WDTOSCCTRL_Val 0x00000000 #define SYSPLLCTRL_Val

会社紹介

• 株式会社スイッチサイエンス • 2008年に設立 • 社員だいたい15名

2

https://www.switch-science.com/

@ssci

Page 3: Wi-Fi - Mbedハマったところ、その(2) 17 system_LPC11Uxx.c #define CLOCK_SETUP 1 #define SYSOSCCTRL_Val 0x00000000 #define WDTOSCCTRL_Val 0x00000000 #define SYSPLLCTRL_Val

自己紹介

坪井義浩 (つぼいよしひろ) @ytsuboi薬屋、ときどきスイッチサイエンスMake:は趣味

3

2009 2010-2015 2015-

Page 4: Wi-Fi - Mbedハマったところ、その(2) 17 system_LPC11Uxx.c #define CLOCK_SETUP 1 #define SYSOSCCTRL_Val 0x00000000 #define WDTOSCCTRL_Val 0x00000000 #define SYSPLLCTRL_Val

節子とは…

4

Page 5: Wi-Fi - Mbedハマったところ、その(2) 17 system_LPC11Uxx.c #define CLOCK_SETUP 1 #define SYSOSCCTRL_Val 0x00000000 #define WDTOSCCTRL_Val 0x00000000 #define SYSPLLCTRL_Val

アームとローム

5

ARMが入居しているビル

https://goo.gl/maps/asbmnRscmPw

Page 6: Wi-Fi - Mbedハマったところ、その(2) 17 system_LPC11Uxx.c #define CLOCK_SETUP 1 #define SYSOSCCTRL_Val 0x00000000 #define WDTOSCCTRL_Val 0x00000000 #define SYSPLLCTRL_Val

BP359B

6

BP3580

!?!?!?!?

BP3591下位互換

Page 7: Wi-Fi - Mbedハマったところ、その(2) 17 system_LPC11Uxx.c #define CLOCK_SETUP 1 #define SYSOSCCTRL_Val 0x00000000 #define WDTOSCCTRL_Val 0x00000000 #define SYSPLLCTRL_Val

mbed with Wi-Fi

7

Page 8: Wi-Fi - Mbedハマったところ、その(2) 17 system_LPC11Uxx.c #define CLOCK_SETUP 1 #define SYSOSCCTRL_Val 0x00000000 #define WDTOSCCTRL_Val 0x00000000 #define SYSPLLCTRL_Val

mbed with Wi-Fi / mbed OS 5

8

Page 9: Wi-Fi - Mbedハマったところ、その(2) 17 system_LPC11Uxx.c #define CLOCK_SETUP 1 #define SYSOSCCTRL_Val 0x00000000 #define WDTOSCCTRL_Val 0x00000000 #define SYSPLLCTRL_Val

9

Page 10: Wi-Fi - Mbedハマったところ、その(2) 17 system_LPC11Uxx.c #define CLOCK_SETUP 1 #define SYSOSCCTRL_Val 0x00000000 #define WDTOSCCTRL_Val 0x00000000 #define SYSPLLCTRL_Val

つまり…

10

BP3580 K24FCON

FlashBP359B

CON

mbed I/F

GPIO

Page 11: Wi-Fi - Mbedハマったところ、その(2) 17 system_LPC11Uxx.c #define CLOCK_SETUP 1 #define SYSOSCCTRL_Val 0x00000000 #define WDTOSCCTRL_Val 0x00000000 #define SYSPLLCTRL_Val

11

いっすね、それ。今度のmbed祭りでデモってくださいよ

@2016/9/5

Page 12: Wi-Fi - Mbedハマったところ、その(2) 17 system_LPC11Uxx.c #define CLOCK_SETUP 1 #define SYSOSCCTRL_Val 0x00000000 #define WDTOSCCTRL_Val 0x00000000 #define SYSPLLCTRL_Val

12

Page 13: Wi-Fi - Mbedハマったところ、その(2) 17 system_LPC11Uxx.c #define CLOCK_SETUP 1 #define SYSOSCCTRL_Val 0x00000000 #define WDTOSCCTRL_Val 0x00000000 #define SYSPLLCTRL_Val

13https://kex.nxp.com/

Page 14: Wi-Fi - Mbedハマったところ、その(2) 17 system_LPC11Uxx.c #define CLOCK_SETUP 1 #define SYSOSCCTRL_Val 0x00000000 #define WDTOSCCTRL_Val 0x00000000 #define SYSPLLCTRL_Val

ハマったところ、その(1)

14

SDK_2.0_MK24FN1M0xxx12¥devices¥MK24F12¥armのディレクトリ

2016/09/1007:454,880MK24FN1M0xxx12_flash.scf2016/09/1007:453,891MK24FN1M0xxx12_ram.scf2016/09/1007:4545,273startup_MK24F12.s

Error:L6218E:UndefinedsymbolImage$$RW_IRAM1$$ZI$$Limit(referredfromsys.o).Error:L6218E:UndefinedsymbolImage$$RW_m_data$$Base(referredfromfsl_common.o).Error:L6218E:UndefinedsymbolImage$$VECTOR_RAM$$Base(referredfromfsl_common.o).Error:L6218E:UndefinedsymbolImage$$VECTOR_ROM$$Base(referredfromfsl_common.o).

スキャッタ…リンカに渡すイメージのメモリマップ

「登録されている拡張子は表示しない」のチェックを外しても表示されない

Page 15: Wi-Fi - Mbedハマったところ、その(2) 17 system_LPC11Uxx.c #define CLOCK_SETUP 1 #define SYSOSCCTRL_Val 0x00000000 #define WDTOSCCTRL_Val 0x00000000 #define SYSPLLCTRL_Val

ハマったところ、その(2)

15

無い!

Chapter5:ClockDistribution34pageChapter25:MCG36pageChapter12:SIM38page

Page 16: Wi-Fi - Mbedハマったところ、その(2) 17 system_LPC11Uxx.c #define CLOCK_SETUP 1 #define SYSOSCCTRL_Val 0x00000000 #define WDTOSCCTRL_Val 0x00000000 #define SYSPLLCTRL_Val

ハマったところ、その(2)

16

KDS 1.3用のみ!

Page 17: Wi-Fi - Mbedハマったところ、その(2) 17 system_LPC11Uxx.c #define CLOCK_SETUP 1 #define SYSOSCCTRL_Val 0x00000000 #define WDTOSCCTRL_Val 0x00000000 #define SYSPLLCTRL_Val

ハマったところ、その(2)

17

system_LPC11Uxx.c

#defineCLOCK_SETUP1#defineSYSOSCCTRL_Val0x00000000#defineWDTOSCCTRL_Val0x00000000#defineSYSPLLCTRL_Val0x00000023#defineSYSPLLCLKSEL_Val0x00000001#defineMAINCLKSEL_Val0x00000003#defineSYSAHBCLKDIV_Val0x00000001#defineUSBPLLCTRL_Val0x00000023#defineUSBPLLCLKSEL_Val0x00000001#defineUSBCLKSEL_Val0x00000000#defineUSBCLKDIV_Val0x00000001

fsl_clock_config.c

constclock_config_tg_defaultClockConfigRun={.mcgConfig={mcgMode=kMCG_ModePEE,irclkEnableMode=kMCG_IrclkEnable,ircs=kMCG_IrcSlow,fcrdiv=0U,frdiv=7U,drs=kMCG_DrsLow,dmx32=kMCG_Dmx32Default,oscsel=kMCG_OscselOsc,pll0Config={.enableMode=0U,.prdiv=0x13U,.vdiv=0x18U,},},.simConfig={.pllFllSel=1U,.er32kSrc=2U,.clkdiv1=0x01140000U,.oscConfig={.freq=BOARD_XTAL0_CLK_HZ,.capLoad=0,.workMode=kOSC_ModeExt,.oscerConfig={.enableMode=kOSC_ErClkEnable,#if(defined(FSL_FEATURE_OSC_HAS_EXT_REF_CLOCK_DIVIDER)&&FSL_FEATURE_OSC_HAS_EXT_REF_CLOCK_DIVIDER).erclkDiv=0U,#endif}},.coreClock=120000000U,};

voidBOARD_BootClockRUN(void){CLOCK_SetSimSafeDivs();CLOCK_InitOsc0(&g_defaultClockConfigRun.oscConfig);CLOCK_SetXtal0Freq(BOARD_XTAL0_CLK_HZ);CLOCK_BootToPeeMode(g_defaultClockConfigRun.mcgConfig.oscsel,kMCG_PllClkSelPll0,&g_defaultClockConfigRun.mcgConfig.pll0Config);

CLOCK_SetInternalRefClkConfig(g_defaultClockConfigRun.mcgConfig.irclkEnableMode,g_defaultClockConfigRun.mcgConfig.ircs,g_defaultClockConfigRun.mcgConfig.fcrdiv);

CLOCK_SetSimConfig(&g_defaultClockConfigRun.simConfig);SystemCoreClock=g_defaultClockConfigRun.coreClock;}

半分

Page 18: Wi-Fi - Mbedハマったところ、その(2) 17 system_LPC11Uxx.c #define CLOCK_SETUP 1 #define SYSOSCCTRL_Val 0x00000000 #define WDTOSCCTRL_Val 0x00000000 #define SYSPLLCTRL_Val

ちょっとフォロー

18

Page 19: Wi-Fi - Mbedハマったところ、その(2) 17 system_LPC11Uxx.c #define CLOCK_SETUP 1 #define SYSOSCCTRL_Val 0x00000000 #define WDTOSCCTRL_Val 0x00000000 #define SYSPLLCTRL_Val

19

Page 20: Wi-Fi - Mbedハマったところ、その(2) 17 system_LPC11Uxx.c #define CLOCK_SETUP 1 #define SYSOSCCTRL_Val 0x00000000 #define WDTOSCCTRL_Val 0x00000000 #define SYSPLLCTRL_Val

20

Page 21: Wi-Fi - Mbedハマったところ、その(2) 17 system_LPC11Uxx.c #define CLOCK_SETUP 1 #define SYSOSCCTRL_Val 0x00000000 #define WDTOSCCTRL_Val 0x00000000 #define SYSPLLCTRL_Val

21

Page 22: Wi-Fi - Mbedハマったところ、その(2) 17 system_LPC11Uxx.c #define CLOCK_SETUP 1 #define SYSOSCCTRL_Val 0x00000000 #define WDTOSCCTRL_Val 0x00000000 #define SYSPLLCTRL_Val

22

mbed-os progen MDK

BP359B

mbed export…ULINK

mbed-cliDAPLink

mbed compile…

Page 23: Wi-Fi - Mbedハマったところ、その(2) 17 system_LPC11Uxx.c #define CLOCK_SETUP 1 #define SYSOSCCTRL_Val 0x00000000 #define WDTOSCCTRL_Val 0x00000000 #define SYSPLLCTRL_Val

23

Page 24: Wi-Fi - Mbedハマったところ、その(2) 17 system_LPC11Uxx.c #define CLOCK_SETUP 1 #define SYSOSCCTRL_Val 0x00000000 #define WDTOSCCTRL_Val 0x00000000 #define SYSPLLCTRL_Val

ハマったところ、その(3)

24

mbed OS 5未対応

Page 25: Wi-Fi - Mbedハマったところ、その(2) 17 system_LPC11Uxx.c #define CLOCK_SETUP 1 #define SYSOSCCTRL_Val 0x00000000 #define WDTOSCCTRL_Val 0x00000000 #define SYSPLLCTRL_Val

Demo

25

Page 26: Wi-Fi - Mbedハマったところ、その(2) 17 system_LPC11Uxx.c #define CLOCK_SETUP 1 #define SYSOSCCTRL_Val 0x00000000 #define WDTOSCCTRL_Val 0x00000000 #define SYSPLLCTRL_Val

当たります!

26

Page 27: Wi-Fi - Mbedハマったところ、その(2) 17 system_LPC11Uxx.c #define CLOCK_SETUP 1 #define SYSOSCCTRL_Val 0x00000000 #define WDTOSCCTRL_Val 0x00000000 #define SYSPLLCTRL_Val

せんでん

27

Page 28: Wi-Fi - Mbedハマったところ、その(2) 17 system_LPC11Uxx.c #define CLOCK_SETUP 1 #define SYSOSCCTRL_Val 0x00000000 #define WDTOSCCTRL_Val 0x00000000 #define SYSPLLCTRL_Val

28

Thanks!