GR-SAKURA
GR-KURUMI
GR-COTTON
GR-CITRUS
GR-PEACH
GR-KAEDE
GR-ADZUKI
GR-LYCHEE
GR-ROSE
GR-MANGO(*)
SNShield
Web Compiler
IDE for GR
TOPPERS関連
女子美コラボ
その他
※プロデューサミーティング中
作り方使い方資料
イベント関連
作品記事
体験記事
ライブラリ
ツール
その他・過去ファイル
当方、プログラミングも初心者です。ADZUKIでScratchを試しているところです。教えて下さい。GR-ADZUKI S4A用binを書き換えようと思い、binファイルを開くのですが文字化けしてしまします。WEBコンパイラーでも、エディッタでも文字化けしています。Windowsを使っているので、文字コードを変える必要があるようですが、やり方が分かりません。
どなたかbinファイルを文字化け無しで開く方法を教えて下さい。よろしくお願いします。
「binファイルが文字化け」の意味がわかりませんがどういった動作を期待されてるのでしょうか?
使用されてるエディタがWindowsのメモ帳なら、開くファイルを選択するダイアログで文字コードの選択はできると思いますが、バイナリファイルの編集には対応していないと思います。
エディット等せずにそのまゝADZUKIに書き込むものでは?
GR-ADZUKI S4A用bin
http://japan.renesasrulz.com/gr_user_forum_japanese/m/mediagallery/297.aspx
「binを書き換え」というのが、どこかの手順書にあるのかもですが、これはbinファイルをエディタ等で書き換える、というのではなくて、ADZUKIボード上に書かれているBINの内容を、S4A用のbinで上書き(書き換え)しよう、という内容です。
使用するのはエディタではなくて、「ADZUKIボード用のBIN更新ツール」で書き込む、という手順になります。頓珍漢な回答だったらゴメンナサイ。
補足説明です。
いろいろと初心者なのと説明不足で申し訳ないです。
私がやりたかったことはS4AでGR-ADZUKIのボード上のLED1~5を点灯させることでした。
LED4はS4Aでdigital12、LED5はSA4ではdigital13をブロックに指定すればオン・オフで制御できるようでしたが、
LED1~3については変数が設定されていないようです。
ネットで情報を探してみますと、SA4でArduinoを動かしているものがありましたが、SA4の変数とPinの対応はファームウェアで決定しているようなのです。
そこで、GR-ADZUKIのSA4用ファームウェアを書き換えれば、LED1~3にも変数を割り当てることができ、使えるようになるのではと考えました。
「GR-ADZUKIでスクラッチ(仮) S4Aで遊ぶ」の資料の方に「ファームウェアはWebコンパイラのテンプレートにもありますので、カスタマイズもできます。」と記載がありますので、Webコンパイラ上にあるファームウェアと同じ名前の「adzuki_sketch.bin」を開いて書き換えようとした訳です。
これで質問をした経緯についての説明は足りますでしょうか?
まったく見当違いのことをやっているかもしれませんが、よろしくお願いします。
GR-ADZUKIでスクラッチ(仮) S4Aで遊ぶ
http://japan.renesasrulz.com/gr_user_forum_japanese/b/weblog2/archive/2016/06/17/gr-adzuki-s4a.aspx
以下のファームウェアをダウンロードして、GR-ADZUKIをPCにつなぎ、Kurumi Writerを使って書き込んでください。なお、このファームウェアはWebコンパイラのテンプレートにもありますので、カスタマイズもできます。
とあるのでバイナリファイルのエディットなんかしないでこれ弄ってカスタマイズされた方がラクチンだと思いますよ。
KENさんの考えた流れは良く判りますた。最後の最後で、ちょっとブッ飛んじゃったんですね。
まずbinファイルを直接いじるなんてのは、いわゆるマシン語と呼ばれる「ほぼ人間では解読できないデータ」を読める、超一部の変態さんしかできません。普通の人は、JAVAなりC言語なりArduino言語なりでプログラムを書いて、そこからソフトを使ってbinに変換します。この、プログラムを書くところから変換までをやってくれるのが、Webコンパイラと言われるものだったり、ide4GRといったソフトです。
で、もともとのS4A用binを作ったプログラムは、webコンパイラを使えるようになれば「見れる」ようになるので、まずはwebコンパイラを使えるようになるのが第一歩、ってことになります。
ちなみに、たかがLEDのポート変えるだけなんだからbinを1バイトいじる程度じゃないの?とも思われるかもですが、それで済むかもですが、全然すまないかも、です。binになるとき、変換ソフト君がドンだけ頑張るかってのは、さっぱり読めませんので。。頑張って下さい!
アズキでもなければスクラッチでもないんだけれど、鈴木さんが配りまくっているSAKURAをもらった女性が、SAKURAにはLEDのライブラリが見つからなくてSAKURAを使用するのを断念した。と言う報告を最近見かけて、なんか感慨深いなぁ、、、と。
んーそれ自分も似たようなこと思いましたw ide4GRで初めてSAKURA使おうとしてまずはLチカ、と思ったら点滅しなくて。DigitalWriteがSAKURA用じゃない記述されてて。基本の基本な標準添付サンプルが修正しないと動かないってどーゆー事だと思ったり。そもそもideがKURUMIが先でSAKURAが後?みたいなのとか知ればまぁ仕方ないのかな、とか思ったりもしますが、まぁ、初手からビギナーの何割かは諦めるよーなトラップぶち込んでるなぁ、とか思いました。
皆様、ご親切にありがとうございます。
素人がマイコンボード使うのは敷居が高いですね。
binファイルは直接いじるものではないということを理解しました。
「ファームウェアはWebコンパイラのテンプレートにもありますので、カスタマイズもできます。」とありますが、
私にはこのWebコンパイラのテンプレートがどれかさえ分かりません。
いろいろと開いてはみたのですが…。
スクラッチを諦めてide4grでスケッチする方がLチカするの早そうですね。
こっちはPin番号を直接指定できますし、Arduinoのライブラリが使えるのは素人にも楽そうですね。
ただ、スクラッチで子どもたちに簡単にプログラミングしてもらいたいという思いもあります。
> 私にはこのWebコンパイラのテンプレートがどれかさえ分かりません。
GR-ADZUKI_S4A_E1.00.zip というのがそれです。
見たところ対応してるピン番号がArduinoそのまゝの0~13だけのようですが、GR-ADZUKI 用として公開されてるものなので、その内現状未対応のピンにも対応されるのではないかと思います。
がじぇるねの中の人も限りあるリソースの範囲で作業をされてる筈なので、要望を出すことは作業の優先順位を考えるに当たって有効なことと思います。
間違ってたらスンマセン。たぶんこんな感じっす。Webコンパイラのテンプレート。
dl.dropboxusercontent.com/.../adzuki-s4a-webc.png
ただ、こっからどこを弄ればLEDポートアサインを変えられるのか、ってのは自分では力不足で判りませんでしたorz そもそも自分の認識が間違ってるのかな。。カスタマイズもできます(識者向け)、って文面修正してもらいますかw
GR-ADZUKI_S4A_E1.00.zip テンプレートの gr_sketch.cpp の setup() の前辺りに
static void _pinMode(uint8_t pin, uint8_t mode) {pinMode(pin >= 0 && pin <= 2 ? pin + 22 : pin, mode);} static void _digitalWrite(uint8_t pin, uint8_t value) {digitalWrite(pin >= 0 && pin <= 2 ? pin + 22 : pin, value);} #define pinMode _pinMode #define digitalWrite _digitalWrite
を追加し、configurePins() の中の arduinoPins[0]~arduinoPins[2] への操作を
arduinoPins[0].type=digital; arduinoPins[1].type=digital; arduinoPins[2].type=digital;
に変更すれば取敢えずはピン番号 0~2 がそれぞれオンボードの LED に割り当てられる気はしますね。
S4A 内部で使用してるプロトコルはピン番号や設定できる値に余裕がない設計であり、Arduino でももうちょっとピン数の多い機種等にはそのまゝでは対応し辛いデザインなのでもうちょっとなんとかして欲しい感じではあります。
皆様、ありがとうございます。
M4Aはちょっと諦めようかと思います。fujitaさんがおっしゃられるように、S4Aでは割り当てられるPinの数が少ないみたいですね。
Aruduino用のM4A Protocol Specificationを見てて、そうなんじゃないかとは薄々感じてはいたのですが。
IDE for GRもまだ準備中でGR-ADZUKIが選択できずに、書き込みができませんでした。
いろいろと試してみましたが、結局はWEBコンパイラ上でスケッチしてビルドして、Kurumi Writerでボードに書き込むのが一番簡単でした。
ちなみにPin番号はLED1=22、LED2=23、LED3=22、LED4=12、LED5=13でした。(サンプルに書いてありました。)
おかげ様でLED1~5までをLチカすることができました。
Lチカするだけで随分と時間がかかってしまいましたが、これに懲りずにこれからの電子工作を楽しもうと思います。
この調子だとIoTへ至る道は遠そうです。ネットに繋ぐのも難しそうですね。
とりあえずはLチカするという目的は達しましたので、解決ということにいたします。
ありがとうございました。
IDE for GRを使うのであれば、「GR-KURUMI」を選べば使えるんですよこれ。同じマイコンを使ってるので。KURUMIを選んで、シリアルポートを選べば、あとは「マイコンボードに書き込むボタン」でコンパイル&転送まで一気にやってくれるので個人的には好きです。
IDE for GRで「GR-KURUMI」を選んで、コンパイルと書き込みができました!
ありがとうございます。
これまでも「GR-KURUMI」を選んだりしてみましたが、その時はエラーが出てしまいました。
どうもコメント内に使用不可の文字が入っていたみたいです。
コメントには何を書いても関係ないと思っていましたが、エラー対象のコメントを消してみたら正常に動作しました。
IDE for GRならWEBコンパイラを使うのに比べて手間が省けて楽になりました。
助かりました。
Lチカができたので、次はモーターを回転させてみたいと思います。
また助けてもらうこともあると思いますが、今後ともよろしくお願いいたします。