Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

of

JTAGを使ってみよう Slide 1 JTAGを使ってみよう Slide 2 JTAGを使ってみよう Slide 3 JTAGを使ってみよう Slide 4 JTAGを使ってみよう Slide 5 JTAGを使ってみよう Slide 6 JTAGを使ってみよう Slide 7 JTAGを使ってみよう Slide 8 JTAGを使ってみよう Slide 9 JTAGを使ってみよう Slide 10 JTAGを使ってみよう Slide 11 JTAGを使ってみよう Slide 12 JTAGを使ってみよう Slide 13 JTAGを使ってみよう Slide 14 JTAGを使ってみよう Slide 15 JTAGを使ってみよう Slide 16 JTAGを使ってみよう Slide 17
Upcoming SlideShare
What to Upload to SlideShare
Next
Download to read offline and view in fullscreen.

0 Likes

Share

Download to read offline

JTAGを使ってみよう

Download to read offline

勉強会で発表した資料。
https://sciencepark.connpass.com/event/175823/

Related Books

Free with a 30 day trial from Scribd

See all

Related Audiobooks

Free with a 30 day trial from Scribd

See all
  • Be the first to like this

JTAGを使ってみよう

  1. 1. JTAGを使ってみよう! Raspberry pi の設定について 2020年05月19日 サイエンスパーク株式会社 プラットフォーム開発部バグダス検証課 板垣 大地
  2. 2. • 名前:板垣 大地 (イタガキ ダイチ) • サイエンスパーク株式会社 バグダス検証課に所属 • 約半年くらい前から、IoT機器のはんだ付け~ ファームウェア吸出し~解析をやらされる 自己紹介
  3. 3. 1. ターゲット 2. ブートシーケンス 3. Dt-blob 4. Config.txt 5. JTAG PIN 6. J-Linkの接続 7. ターゲットの検出 8. まとめ 目次
  4. 4. 1.ターゲット Raspberry pi zero WH Processor:BCM2835 Architecture:ARM1176JZF-S Classic Processors Arm11 特徴 • Trust zone対応 • Wireless LAN対応 • Bluetooth対応 • 価格が安い:2000~3000円程度 • 消費電力が少なめ:約150mA • ×MiniHDMI→ディスプレイを使わない場合OK 今回は、Raspbian-2020-02-14 busterをインストール済み https://developer.arm.com/ip-products/processors/classic-processors
  5. 5. boot sequence中のピン設定 1. Power-on 2. Setting by the bootrom 3. Setting by bootcode.bin 4. Setting by dt-blob.bin 5. Setting by the GPIO command in config.txt 6. Additional firmware pins (e.g. UARTS) 7. Kernel/Device Tree 4と5に注目 Device Tree blob file は、2014/7/14 から対応 Changing the default pin configuration https://www.raspberrypi.org/documentation/configuration/pin-configuration.md 2.ブートシーケンス
  6. 6. Dt-blob.bin → 設定ファイルのバイナリ • 最近のraspberry Piのイメージには、含まれていません。 • /boot に配置 • Dt-blob.bin example code https://github.com/raspberrypi/firmware/blob/master/extra/dt-blob.dts • NOOBSは、パーティションの切り方がraspbianと異なるので注意 NOTE: In the case of NOOBS installs, the DTB file should be placed on the recovery partition instead. Changing the default pin configuration https://www.raspberrypi.org/documentation/configuration/pin-configuration.md 3.dt-blob
  7. 7. dt-blob.dts → dt-blob.bin sudo apt install device-tree-compiler ・Raspbian Buster では、インストール済み ソースからバイナリへ変換 sudo dtc -I dts -O dtb -o /boot/dt-blob.bin dt-blob.dts バイナリからソースへ変換 dtc -I dtb -O dts -o dt-blob.dts /boot/dt-blob.bin Changing the default pin configuration https://www.raspberrypi.org/documentation/configuration/pin-configuration.md 3.dt-blob
  8. 8. dt-blob.dts /dts-v1/; / { videocore { pins_rev1 { pin_config { pin@default { polarity = "active_high"; termination = "pull_down"; startup_state = "inactive"; function = "input"; }; // pin マイコンのピン初期設定の記述 3.dt-blob
  9. 9. dt-blob.dts 前のページより続く pin@p2 { function = "i2c1"; termination = "pull_up"; }; // I2C 1 SDA pin@p3 { function = "i2c1"; termination = "pull_up"; }; // I2C 1 SCL 途中略 }; // pin_config 途中略 }; }; // pin_defines }; // pins }; }; 2200行ぐらいあります。。。 3.dt-blob
  10. 10. /boot/config.txt カメラ、GPIO、ディスプレイの設定、boot address等を Rpiconfig で、config.txtの内容を設定することが多い。 dtparam=spi=on // Device Treeにパラメータを渡せる # Enable ARMv8 on RPi3B 32bit → 64bit mode arm_control=0x200 # Select Alt2 for GPIO pins 0 to 27 (for DPI24) gpio=0-27=a2 // JTAGでは、 Alt4 のモードを使用する。 enable_jtag_gpio=1 // 左の記述のみで、ALT4に自動設定され る。 PCのBIOSの設定に近いイメージ 4.config.txtの設定
  11. 11. 5.JTAG Pin https://www.raspberrypi.org/documentation/usage/gpio/README.md Pin # ALT4 Function Rsp 40pin ARM JTAG20 - Vref 1 1 - GND 14 4 GPIO22 ARM_TRST 15 3 GPIO26 ARM_TDI 37 5 GPIO27 ARM_TMS 13 7 GPIO25 ARM_TCK 22 9 GPIO23 ARM_RTCK 16 11 GPIO24 ARM_TDO 18 13 https://www.segger.com/products/debug-probes/j-link/technology/interface-description/ Raspberry pi GPIO40pin コネクタ勘合面より J-Link コネクタピ ン https://www.raspberrypi.org/documentation/configuration/config-txt/gpio.md
  12. 12. 6.J-Linkの接続 J-Link edu : JTAG プローブ Raspberry Pi Zero WH
  13. 13. 7.ターゲットの検出 SEGGER J-Link Commander V6.60e (Compiled Jan 17 2020 17:26:41) DLL version V6.60e, compiled Jan 17 2020 17:25:00 Connecting to J-Link via USB...O.K. Firmware: J-Link V11 compiled Jan 7 2020 16:52:13 Hardware version: V11.00 S/N: XXXYYYZZZ License(s): FlashBP, GDB OEM: SEGGER-EDU VTref=3.341V J-Link Commanderを実行後のJ-Link起動画面
  14. 14. 7.ターゲットの検出 Type "connect" to establish a target connection, '?' for help J-Link>connect Please specify device / core. <Default>: ARM11 Type '?' for selection dialog Device> Please specify target interface: J) JTAG (Default) TIF> Device position in JTAG chain (IRPre,DRPre) <Default>: -1,-1 => Auto- detect JTAGConf> Specify target interface speed [kHz]. <Default>: 4000 kHz Speed> Device "ARM11" selected. J-Link設定
  15. 15. 7.ターゲットの検出 Connecting to target via JTAG TotalIRLen = 5, IRPrint = 0x01 JTAG chain detection found 1 devices: #0 Id: 0x07B7617F, IRLen: 05, ARM1176 Core ARM11 identified. J-Link> J-Link CPUの認識 ARM1176 Coreが認識された。
  16. 16. ・ JTAG接続するには、マイコンのピン設定が必要。 ・Raspberry Pi の/boot/config.txt で、各種ハードの まとめ
  17. 17. SP2005-E04-01 ご清聴ありがとうございました

勉強会で発表した資料。 https://sciencepark.connpass.com/event/175823/

Views

Total views

205

On Slideshare

0

From embeds

0

Number of embeds

19

Actions

Downloads

3

Shares

0

Comments

0

Likes

0

×