これまでのあらすじ
kernel領域をubootの書き換えて、Linux Kernelが起動するところまで持っていきました。が、ペンギンさんから進みません。
UARTを引き出すJIGがあるそうな
ぐぐってみると、UARTを採取できるJIGが作れるそうです。
https://wiki.mozilla.org/DHylands_SGS2_SerialAdapter
JIGでググったりヤフオクで調べると、301kΩの抵抗で強制ダウンロードモードに入るJIGは売っているのですが、UARTに対応したJIGは流石に売っていませんでした。諦め気味でしたが、↑の参考ページを見ると何点かハンダ付けするだけでなんとかなりそうと思ったのでやって見ました。
- 出版社/メーカー: スイッチサイエンス
- メディア: エレクトロニクス
- この商品を含むブログを見る
510KΩ 1/2W カーボン抵抗(炭素皮膜抵抗) 100本セット CFB1/2タイプ
- 出版社/メーカー: ANGEL HAM SHOP JAPAN
- メディア:
- この商品を含むブログを見る
あと、micro USBの変換基板。しめて2000円ちょっとくらいでした。
あせんぶる
ともあれ、ハンダ付けなんて中学校の技術の時間からやっていないので練習しました。
苦労の後。トータル3時間くらいかかってますが、この練習に半分以上の時間を使ったような。。。
とりあえず動いた
Welcome to Samsung Primitive Bootloader. build time: Mar 16 2012 17:52:29 current time: 44/0/0 3f:1f:1 [set_mmc_ocr] Sector Mode [hsmmc_init] MMC card is detected Product Name : V3U00M <display_card_info:1009> ext_csd <display_card_info:1011>card_size: 15028 Total Card Size: 15029 MByte mmc_init: card initialization completed! pbl found bootable sbl in #49152. jump to sbl 0x4d400000. Secondary Bootloader v3.1 version. Copyright (C) 2011 System S/W Group. Samsung Electronics Co., Ltd. Board: C1 REV 02 / Mar 16 2012 17:52:36 current time: 44/0/0 3f:1f:2 booting code=0x3f3f3f3f [set_mmc_ocr] Sector Mode [hsmmc_init] MMC card is detected Product Name : V3U00M CID:150100 56335530 304d0e5f c23d919f <display_card_info:1046> ext_csd <display_card_info:1048>card_size: 15028 Total Card Size: 15029 MByte Total Sector Count: 30777344 MoviNand Initialization Complete! ===== PARTITION INFORMATION ===== ID : GANG (0x0) DEVICE : MMC FIRST UNIT : 0 NO. UNITS : 0 ================================= ID : BOOT (0x1) DEVICE : MMC FIRST UNIT : 0 NO. UNITS : 0 ================================= ID : EFS (0x4) DEVICE : MMC FIRST UNIT : 8192 NO. UNITS : 40960 ================================= ID : SBL1 (0x2) DEVICE : MMC FIRST UNIT : 49152 NO. UNITS : 2560 ================================= ID : SBL2 (0x3) DEVICE : MMC FIRST UNIT : 53248 NO. UNITS : 2560 ================================= ID : PARAM (0x5) DEVICE : MMC FIRST UNIT : 57344 NO. UNITS : 16384 ================================= ID : KERNEL (0x6) DEVICE : MMC FIRST UNIT : 73728 NO. UNITS : 16384 ================================= ID : RECOVERY (0x7) DEVICE : MMC FIRST UNIT : 90112 NO. UNITS : 16384 ================================= ID : CACHE (0x8) DEVICE : MMC FIRST UNIT : 106496 NO. UNITS : 204800 ================================= ID : MODEM (0x9) DEVICE : MMC FIRST UNIT : 311296 NO. UNITS : 32768 ================================= ID : FACTORYFS (0xa) DEVICE : MMC FIRST UNIT : 344064 NO. UNITS : 1048576 ================================= ID : DATAFS (0xb) DEVICE : MMC FIRST UNIT : 1392640 NO. UNITS : 4194304 ================================= ID : UMS (0xc) DEVICE : MMC FIRST UNIT : 5586944 NO. UNITS : 24133632 ================================= ID : HIDDEN (0xd) DEVICE : MMC FIRST UNIT : 29720576 NO. UNITS : 1048576 ================================= loke_init: j4fs_open..success <start_checksum:1033>CHECKSUM_HEADER_SECTOR :42 <start_checksum:1035>offset:42, size:1024 Not Need Movinand Checksum load_lfs_parameters valid magic code and version. switch_sel_str='1' load_debug_level: read debug level successfully(0x574f4c44)...LOW init_ddi_data: usable ddi data. fuelgauge_implementaion - start fuelgauge_implementaion - end fuel_gauge_get_version: [1]=0, [0]=92 init_fuel_gauge: vcell = 3803 mV, vfocv = 3841 mV, soc = 56 microusb_get_attached_device: STATUS1:0x3c, 2:0x0 microusb_get_attached_device: STATUS1:0x3c, 2:0x0 5629 = (378300 - 346818)*17883/100000 [4] 384040 = (5629 * 100000) / 28706 + 364431 init_microusb_ic: MUIC: CONTROL1:0x1b init_microusb_ic: MUIC: CONTROL1:0x1b init_microusb_ic: MUIC: CONTROL2:0x3a init_microusb_ic: MUIC: CONTROL2:0x3a reading nps status file is successfully!. nps status=0x504d4f43 PMIC_IRQSRC = 0x0 PMIC_IRQ1 = 0x0 PMIC_IRQ2 = 0x1f PMIC_IRQ3 = 0x0 PMIC_IRQ4 = 0x10 PMIC_STATUS1 = 0x0 PMIC_STATUS2 = 0x17 PMIC_STATUS3 = 0x0 PMIC_STATUS4 = 0x0 bootloader base address=0x 4d400000 LPDDR0 1st. cached=0x40000000, size=0xe400000 LPDDR0 non-cached=0x4e400000, size=0xa00000 LPDDR0 2nd. cached=0x4ee00000, size=0x1200000 RST_STAT = 0x10000 get_hwrev() = 14 board_process_platform: MAGIC 3f3f3f3f at 40000000! scan_keypad_level: pressed key is 0 scan_keypad_level: pressed key is 3 scan_keypad_level: pressed key is 0 scan_keypad_level: pressed key is 3 scan_keypad_level: pressed key is 0 scan_keypad_level: pressed key is 3 microusb_get_attached_device: STATUS1:0x3c, 2:0x0 microusb_get_attached_device: STATUS1:0x3c, 2:0x0 microusb_get_attached_device: STATUS1:0x3c, 2:0x0 microusb_get_attached_device: STATUS1:0x3c, 2:0x0 hw_pm_status: jig_status = 1, chg_status = 0 s5p_set_high_clk: ARM Clock = 800MHz. .......kernel is non signed binary. DISPLAY_PATH_SEL[MDNIE 0x1]is on div:2, FB_SOURCE_CLOCK:667000000, FB_PIXEL_CLOCK:25067520 MDNIE setting Init start!! vsync interrupt is off video interrupt is off [fb0] turn on MDNIE setting Init end!! Autoboot (0 seconds) in progress, press a boot_kernel: debug level low! checkbit: find RECOVERY checkbit (0) .......kernel is non signed binary. ATAG_CORE: 5 54410001 0 0 0 MEMCONFIG: 20e01323 20e01323 ATAG_MEM: 4 54410002 10000000 40000000 ATAG_MEM: 4 54410002 10000000 50000000 ATAG_MEM: 4 54410002 10000000 60000000 ATAG_MEM: 4 54410002 10000000 70000000 ATAG_SERIAL: 4 54410006 c23d919f 304d0e5f ATAG_REVISION: 3 54410007 e hardware_ID : 000e5fc23d919f ATAG_CMDLINE: 40 54410009 'loglevel=4 console=ram androidboot.serialno=000e5fc23d919f sec_debug.enable=0 sec_' ATAG_NONE: 0 0 Starting kernel at 0x40008000...
ただ、ubootに差し替えたり、kernelをlinuxのにすると出力されてくれません。*1どうもttySAC2じゃ無いのかもしれません。ともあれ、素人の工作でも動いたのが嬉しくて書いております(ぉ
ハード的におかしいんじゃないなら何とかなるでしょう。。。
週末展示会なので、土曜に会社でやることにして寝ます。 orz