Changes between Initial Version and Version 1 of TY51822r3-uV5


Ignore:
Timestamp:
Jul 22, 2016 12:29:27 AM (6 years ago)
Author:
ytsuboi
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • TY51822r3-uV5

    v1 v1  
     1= mbed TY51822r3をMDK-ARM 5で開発する方法 =
     2
     3TY51822r3に使用されているNordicのnRF51822のサンプルコードは、次のページからダウンロードすることができます。[[BR]]
     4https://www.nordicsemi.com/eng/Products/Bluetooth-low-energy/nRF51822 [[BR]]
     5[[BR]]
     6ここには、主に2種類のサンプルコードがあります。 [[BR]]
     7nRF5-SDK-zip…一般的なBLEアプリケーションを開発するときのサンプルコードです。 [[BR]]
     8nRF51-IoT-SDK-zip…IPv6 over BLEアプリケーションを開発するときのサンプルコードです。専用のSoftDeviceを使います。 [[BR]]
     9どちらのSDKを使った場合でも、mbed TY51822r3は、PCA10028用のサンプルコードを使うと、比較的容易にサンプルコードをビルドすることができます。[[BR]]
     10 [[BR]]
     11これらサンプルコードを解凍します。また、MDK-ARMでnRF51のアプリケーションをビルドするためのDeviceFamilyPackをインストールします。 [[BR]]
     12MDKのPackInstallerでうまくDeviceFamilyPackのインストールができない場合、次のURLにウェブブラウザでアクセスして、DeviceFamilyPackをダウンロードしてください。 http://developer.nordicsemi.com/nRF51_SDK/pieces/nRF_DeviceFamilyPack/  [[BR]]
     13この記事を書いた時点では、nRF_DeviceFamilyPack.8.5.0.packを利用しました。 [[BR]]
     14 [[BR]]
     15== 太陽誘電製モジュール用のアプリケーション開発時の注意 ==
     16mbed TY51822r3に搭載されているモジュールなどは、Nordic製の評価ボードとは異なり、MCUのクロックに32MHzが採用されています。外部クリスタルが32MHzである場合に必要なレジスタ設定を行う必要があります。[[BR]]
     17詳細は、太陽誘電様の http://www.yuden.co.jp/wireless_module/document/EVBManual/TY_BLE_CN_EVBManual_V1.00_20150914.pdf こちらのドキュメントの7ページ目を確認してください。[[BR]]
     18要は、system_nrf51.cの86行目のあたりに、次のコードを書いておく必要があります。
     19{{{
     20if (*(uint32_t *)0x10001008 == 0xFFFFFFFF) {
     21        NRF_NVMC->CONFIG = NVMC_CONFIG_WEN_Wen << NVMC_CONFIG_WEN_Pos;
     22        while (NRF_NVMC->READY == NVMC_READY_READY_Busy){}
     23        *(uint32_t *)0x10001008 = 0xFFFFFF00;
     24        NRF_NVMC->CONFIG = NVMC_CONFIG_WEN_Ren << NVMC_CONFIG_WEN_Pos; while (NRF_NVMC->READY == NVMC_READY_READY_Busy){}
     25        NVIC_SystemReset();
     26        while (true){}
     27}
     28}}}
     29[[BR]]
     30※ 決して16MHzの外部クリスタルと比較して高速に動くわけではありません。恐らく、モジュールの小型化のために、小型のクリスタルを採用しているのでしょう。
     31
     32== SoftDeviceの書き込みかた ==
     33=== nRF5-SDKの場合 ===
     34SoftDeviceを書き込むためのターゲットがプロジェクトに用意されています。「flash_s130_nrf51_2.0.0_softdevice」等のターゲットがあるはずですので、これを選択してください。 [[BR]]
     35ターゲットのオプションを開くか、[Flash]-[Configure Flash Tools...]を選択して「Debug」タブを開いてください。mbedのインターフェースチップがサポートしているプロトコルはCMSIS-DAPですので、「Use:」欄横のドロップダウンリストボックスで「CMSIS-DAP Debugger」を選択します。[[BR]]
     36次に、「Settings」ボタンをクリックし、「SW Device」という欄に「ARM CoreSight SW-DP」などとnRF51のコアが認識されていることを確認します。表示されていない場合、お手元のパソコンがmbed TY51822r3に接続されていないか、画面左側の「Port」がJTAGになっている等の問題があります。[[BR]]
     37コアが見えていることを確認したら、「Flash Download」タブを開いてください、そこで、「Remove」ボタンや「Add」ボタンを使い、「Programming Algorithm」を「nRF51 External Connectivity Board」にします。また、「Download Function」を「Erase Full Chip」にしておいてください。[[BR]]
     38
     39=== nRF51-IoT-SDKの場合 ===
     40IoT SDKを解凍すると、 Nordic¥nrf51¥components¥softdevice¥s1xx_iot¥s1xx-iot-prototype2_softdevice.hex というファイルがあります。これがIoT SDK用のSoftDeviceです。[[BR]]
     41このファイルをMBEDドライブにドラッグ・アンド・ドロップすると、SoftDeviceを書き込むことができます。
     42
     43== アプリケーションの書き込みかた ==
     44SDKを問わず共通です。nRF5-SDKでターゲットを切り換えてSoftDeviceを書き込んだ場合、ターゲットをアプリケーションに戻してください。[[BR]]
     45ターゲットのオプションを開くか、[Flash]-[Configure Flash Tools...]を選択して「Debug」タブを開いてください。mbedのインターフェースチップがサポートしているプロトコルはCMSIS-DAPですので、「Use:」欄横のドロップダウンリストボックスで「CMSIS-DAP Debugger」を選択します。[[BR]]
     46次に、「Settings」ボタンをクリックし、「Flash Download」タブを開いてください、そこで、「Remove」ボタンや「Add」ボタンを使い、「Programming Algorithm」を「nRF51 External Connectivity Board」にします。また、「Download Function」を「Erase Sectors」にしておいてください。[[BR]]
     47お好みで「Reset and Run」にチェックを入れていただいても良いと思いますが、さきほど確認したところResetはかかりませんでした。今後、何らかの修正時に対処法を検討します。当面は、リセットボタンを押すか、USBケーブルの挿抜を行ってください。[[BR]]