0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

RX631でCDC

Last updated at Posted at 2024-08-09

ルネサスから提供されていたソースコードはいくつかあって、すでに公式では入手できないものもあるようです。

GR-CITRUSはusb_core.cなどのファイルを使ったRX62Nのサンプルソースを改修されたものが使われています。

オリジナルは公式サイトで見つからなかったのでwrbb-v2lib-firmから引っこ抜いてみました。

結構苦戦して4日くらいかかりました。

usb_hal.cに

#if GRSAKURA
    assignPinFunction(PIN_IO32, 0x11, 0, 0);
    assignPinFunction(PIN_IO34, 0x11, 0, 0);
#elif defined(GRCITRUS)
    assignPinFunction(PIN_IO41, 0x11, 0, 0);
    assignPinFunction(PIN_IO42, 0x11, 0, 0);
#else
#error "no target"
#endif

がなくて動かなくて苦労しました。たまたまArudinoのコードを眺めていて気が付きました。

この処理はRX62NにはなくてRX631で追加された機能のようです。

GR-CITRUSは各種サンプルソースを使いArduino互換のライブラリを用意して、その上にmrubyがのっかっているようです。

おそらくArudinoのライブラリはルネサスが作っていて、元になったRX631対応したusb_core.cなどは単体では公開されてなくて、社内のみで使われていた可能性もあります。

ルネサスのサンプルコードはオリジナルのCコンパラ用とgcc用があってgccではコンパイルできないこともしばしばあります。

xmodemを実装したところ、送り側で1バイト毎に1msのsleepを入れなと正しく動作しませんでした。oz_

GR-CITRUSではusb_hal.cのファンクションを入れ替えるHackが入っています。

PCからデータを送っているのにRX631側で読み込みをしないと不安定になるようです。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?