MPU_Configの一部を取り込みましたが...(その3.1)

 「ねむいさん」の
http://cid-36f4d1230f8a673c.onedrive.live.com/browse.aspx/.Public/src/Cortex/ST/STM32F746NGH6_Discovery/FatFs-LCD/
こちらのhw_config.cのMPU_config()をMicroPythonのboard_init.cに取り込んでみたのですが、やはりbus error起こります。キャッシュの問題じゃないんでしょうか?
 MbedのLCDデモもオンラインコンパイラの吐き出したバイナリで普通に動いていたので、今度はLinux環境でねむいさんのサンプルコードをビルドすることにしました。
746Disco限定ですが、こうするとビルドできました。
https://box.yahoo.co.jp/guest/viewer?sid=box-l-ibqw55wboq3hijmw2pwz5pgyne-1001&uniqid=e818b072-e28d-420a-8705-78f4dca9af05&viewtype=detail

 とにかくCoreUtils for Windowsは変数内の大文字を小文字にしてpathを解釈しています。(widowsのコマンドが区別しないのかもですが...)
 Linuxではしっかり区別してます。
今晩動かしてみます。

ESPr® IR 赤外線リモコン

https://www.switch-science.com/catalog/2740/
を導入しました。
ファームはこちらを使わせて頂きました。
https://github.com/toskaw/ESP8266IRKit/blob/master/ESP8266IRKit.ino.generic.bin
IRKitシンプルアプリでの初期設定がなかなかうまく行きませんでしたが、USBシリアルのDTR信号で強制リセット&モニタして少し状況を確認して、無事初期設定が完了しました。
 しかし、リモコンの学習がかなり難しいと言うか、成功しづらいです。
 まずインジケータを付けます。

MicroPythonにCのモジュールを追加するぞ!(その3.0:デバッグですが...)

 デバッグ当然ですが苦戦しております。苦戦しないのは勇者である「ねむいさん」を始めとする方々でしょうから...

 致命的なのはリセットがかかるバグがあることです。
 落ちてるのはBSP_LCD_Clear内LL_FillBuffer内HAL_DMA2D_PollForTransferなんでしょうか?困りました。

 SW4STM32を使わないとダメでしょうか?

追記:
 BSP_LCD_DrawPixelでもリセットかかります。もともと点描座標もおかしいですが、FBの後方に書こうとすると落ちちゃいます。あ〜

更に追記:
 TrueStudioで例外の発生を確認しました。バスエラーです。

MicroPythonにCのモジュールを追加するぞ!(その2:ビルドできた)

 もう半月も経ってしまいましたが、何とかLCDのCモジュールが出来ました。
 2つの関数BSP_LCD_DrawPolygon,BSP_LCD_FillPolygonは

typedef struct 
{
  int16_t X;
  int16_t Y;
}Point, * pPoint;

のpPointを引数にしているので、保留しています。
 恥ずかしながら、座標x,yの配列をMicroPythonからCに渡す方法が分からなくて...
 それ以外は
https://os.mbed.com/teams/ST/code/BSP_DISCO_F746NG/docs/tip/group__STM32746G__DISCOVERY__LCD__Exported__Functions.html
の関数をMicroPythonのモジュールから呼べるようにしています。
 BSPってずっと何?と思っていましたが、Board Support Packageの略なんですね。

MicroPythonにCのモジュールを追加するぞ!(その1)

 STM32F746G-DiscoのMicroPythonにLCDのモジュールを追加しようと思います。DRAMフレームバッファにしたりかなり難易度が高そうです。
 mbedにdemoがありますので、これをマージしたいと思います。
https://os.mbed.com/teams/ST/code/DISCO-F746NG_LCD_demo/

 MicroPythonにCのモジュールを追加する方法は非公式のドキュメントがあります。
http://micropython-dev-docs.readthedocs.io/en/latest/adding-module.html
 しかし、この内容に若干誤記もある様ですし、内容も不足していると思います。
 ゴニョゴニョ調べていたら、Cモジュールの雛形を作るPythonスクリプトを見付けました。
 https://github.com/prusnak/micropython-extmod-generator
 これをフォークして若干機能追加に挑戦しています。
https://github.com/forester3/micropython-extmod-generator/tree/develop
 完成したらpullリクエストしてみようかな?

On board ethernet driver for MicroPython

 ほとんどソースを書いていないのにpull requestをしてしまいました。
https://github.com/micropython/micropython/pull/3671

 でもethernet付きNUCLEOボードでMicroPythonを使っている人みんな使いたいと思うんじゃないかな?と考えまして...

 Georgeさんにもお試しのPRを出した後に、オススメされましたので、やっと出せました。
https://github.com/dpgeorge/micropython/pull/6

 でも英語力ほしいです。

F7disco ethernet driver for MicroPython

「楽しくやろう。」の
「NUCLEO-F767ZI ethernet driver for MicroPython」
http://blog.boochow.com/article/455508112.html
を参考にF7-discoのMicroPythonをオンボードethernetに対応させる挑戦です。
 gitの使い方をもう忘れてしまい戸惑いましたが、今日は何とかビルド完了まで辿り着きました。