Renesas Community
Renesas Community
  • User
    Join or sign in
  • Site
  • Search Community
  • User
  • Renesas Engineering Community
  • FAQ
  • HELP
  • More
  • Cancel
がじぇっとるねさすコミュニティ
がじぇっとるねさすコミュニティ
GR-ROSE スマートコンフィギュレータとCC-RXを使ったプロジェクトでbinファイルを生成する
  • Forums
  • Files
  • がじぇっとるねさす ゆーざー会 - Wiki
  • Tags
  • More
  • Cancel
  • New

 

 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関連

 女子美コラボ

 その他

 ※プロデューサミーティング中

 作り方使い方資料

 イベント関連

 作品記事

 体験記事

 その他

 

 ライブラリ

 ツール

 その他・過去ファイル

  • State Not Answered
  • Replies 0 replies
  • Subscribers 438 subscribers
  • Views 1177 views
  • Users 0 members are here
  • GR-ROSE
Options
  • Share
  • More
  • Cancel
Related Tags
  • 3D
  • analog
  • B3M
  • DDS-XRCE
  • endif
  • esp8266
  • FIT
  • GR-ROSE
  • ICS
  • include
  • MG996R
  • MIC3
  • microSD
  • MPL3115A2
  • OLED
  • pin
  • PMOD
  • ROS
  • ROS2
  • rosserial
  • RS-485
  • RX65N
  • SDHI
  • serial
  • SmartConfigurator
Related

スマートコンフィギュレータとCC-RXを使ったプロジェクトでbinファイルを生成する

Okamiya Yuuki
Okamiya Yuuki over 3 years ago

がじぇるね岡宮です。

仕事がらGCCでなく、CC-RXやスマートコンフィギュレータ(以降SC)を使うことになったので、GR-ROSE用のbinファイルの作り方を書きたいと思います。

 

■はじめに

GR-ROSEには出荷時にUSBファームが書き込まれており、リセットボタンを押すとUSBストレージになり、そのUSBストレージにbinを書き込むとプログラムが実行されるようになっています。このUSBファームウェアの仕様、ソースは以下に記載されています。

https://www.renesas.com/jp/ja/products/gadget-renesas/boards/gr-rose.html#resources

 

要点を書くと、

・bin書込み後、0xFFE00000番地に飛んでくる仕様なので、この領域にスタートアップルーチンを配置する必要がある

・binにアドレス情報はないので、オプション設定メモリ(0xFE7F5D00~)や、固定ベクタの領域を削除する必要がある。

 ※逆に言えば、オプション設定や固定ベクタはUSBファームの設定のままになるので、注意してください。

 

■やり方

 

・resetprg.cにあるPowerON_ResetPCの処理を0xFFE00000に配置したいので、まずは以下のように「ResetPRG」セクションとして宣言します。

#if defined(__CCRX__)
#pragma section ResetPRG //★ここを追加
#pragma entry PowerON_Reset_PC
#endif /* defined(__CCRX__) */

 

・「ResetPRG」を0xFFE00000に配置します。ついでに「EXCEPTVECT」,「RESETVECT」のセクションアドレスを削除します。

 

・「vecttbl.c」にあるオプション設定メモリの記載をif 0とかで無効にします。

#if 0
#if defined(__CCRX__)

#pragma address __MDEreg = 0xFE7F5D00
#pragma address __OFS0reg = 0xFE7F5D04
#pragma address __OFS1reg = 0xFE7F5D08
(略)
#pragma public_equ = "__FAW", BSP_CFG_FAW_REG_VALUE
#pragma public_equ = "__ROM_CODE", BSP_CFG_ROMCODE_REG_VALUE

#endif /* defined(__CCRX__), defined(__GNUC__), defined(__ICCRX__) */
#endif

・プロジェクトプロパティ「ツール設定タブ」の「Linker」の「出力」で、以下のように「バイナリ・ファイルを出力する」に設定します。

 

・以上で設定は終わりです。ビルドしてください。念のためビルド後にマップファイル(.map)で確認することをお勧めします。HardwareDebugフォルダに生成されているはずです。

 以下のように、「PResetPRG」が0xFFE00000に配置され、「EXCEPTVECT」,「RESETVECT」は、ROM領域の末尾にないことを確認します。

PResetPRG
ffe00000 ffe00063 64 1
P
ffe00064 ffe01994 1931 1
C_1
ffe01995 ffe01995 0 1
C_2
ffe01996 ffe0199b 6 2
C
ffe0199c ffe01a13 78 4
C$DSEC
ffe01a14 ffe01a37 24 4
C$BSEC
ffe01a38 ffe01a4f 18 4
C$VECT
ffe01a50 ffe01e4f 400 4
D
ffe01e50 ffe01f47 f8 4
D_1
ffe01f48 ffe01f97 50 1
D_2
ffe01f98 ffe01f98 0 1
W
ffe01f98 ffe01f98 0 4
W_1
ffe01f98 ffe01fa7 10 1
W_2
ffe01fa8 ffe01fa8 0 2
L
ffe01fa8 ffe01fed 46 4
EXCEPTVECT
ffe01ff0 ffe0206b 7c 4
RESETVECT
ffe0206c ffe0206f 4 4

・GR-ROSEに書き込む前に、生成されたbinファイルのファイルサイズも一応確認しておきましょう。オプション設定メモリの領域が残っていたりすると20MBくらいになっていたりします。正しく設定がされていれば、1MB以下です。ほとんど何もしないアプリケーションなら10kB程度です。

 

■サンプルプロジェクト

参考までにSCとCC-RXのプロジェクトで、Lチカするサンプルを貼り付けておきます。インポートしてお使いください。

rx_sc_test.zip

 

■注意

以下のスレッドで、たかぶーさんがご指摘のように、GR-ROSEの出荷ファームでは不用意にCMT0が動いているため、ユーザーアプリ側でCMT0の割り込み処理がない場合、どこかに飛んで行ってしまいますので、ユーザアプリでCMT0を止めるか、CMT0の割り込み処理を何かしら行う必要があります。

http://japan.renesasrulz.com/gr_user_forum_japanese/f/gr-rose/5215/gr-rose-usb/29643#29643

  • Reply
  • Cancel
  • Cancel
サイト使用条件
プライバシーポリシー
お問い合わせ
© 2010-2023 Renesas Electronics Corporation. All rights reserved.