東海自然歩道を徃く7(柘植〜石水渓)

前回言ったとおり今回のルートは鈴鹿峠を越えることになります。
移動距離も鞍馬〜大津京の時より長くなるので足回りも万全にして挑みました。!
(ってこの記事書いてる時点ですでに西藤原まで行ってるのですが…)


↑出発地点の朝の柘植駅。逆光は勝利!
 JR柘植駅をここまでカッコ良く撮れる人間って私くらいしかいないと思う!


↑今回はまず"ぞろぞろ峠"を越えて加太不動滝までいきます。


↑前回の離脱ポイント"山の辺の道"との分岐点です。鈴鹿峠まであと約19.5kmか…


↑さっきの写真から約5分後…鈴鹿峠まであと約20.5kmか…あれ???


↑壬申の乱古戦場跡ですって。あえて撮ってませんがここってちょうど
 車から物を捨てやすいポジションにあって古戦場跡の表記よりもでかい
 不法投棄警告の標識がおわします。


↑奥与野森林公園入口です。東海自然歩道は入ってすぐのところで右折し
 ぞろぞろ峠を目指します。


↑外気温が氷点下からか流水が凍結が見られます。一部では完全に凍結した所も。


↑小渓谷を横にひたすら上っていましたがこのあたりは坎霞渓(かんかけい)と
 呼ばれる場所だそうです。このあたりでルートは何度も渡渉になるようです。
 …ってことは…


↑げげっ!やっぱり…!ガッチガチに凍結してる…(やっぱアイゼンいるかしら…)
もちろんこんなのまともに登れないのでねむいさんどうしたかと言うと禁じ手
 ですが、凍結してない道脇の部分をジグザグに蹴りあがっていきました。



↑ぞろぞろ峠に到着です。この周辺は痩せた尾根道の上に雪深いので滑落しないよ
 うにひやひやでした。(やっぱアイゼンいるかしら…)


↑いたるところで小滝や流水が凍結しています。ねむいさん近づいて触れる
ことができる凍った小滝にふざけてぱんちしたら凍った滝がグワッシャッと
 一気に崩れおちてびびって即効逃げだしたりしてました…
 

↑アップダウンを繰り返し加太不動滝の近くまで迫ってきました。
 この写真は不動滝を上から見た部分です。



↑加太不動滝です。水量が多いからか主流はさすがに凍結していませんでした。
 真近に見ることができるので小規模ながら大迫力です!ちなみに滝を見るには
 自然歩道のルートからすこし外れ、凍結して危険度の上がった細い橋を渡らな
 ければならないのですが…
 なんかおっきいガレばっかでえらく危なっかしいなと思ったら…


↑!!!(元のルートに戻るときに気づいた)



↑さらに駆け降りて大日滝も越え不動滝の入口(車が乗り入れられる終点)まで
 やってきました。ここから先は雪に覆われた小渓谷に沿ってひたすら鈴鹿峠
 目指して走り抜けます!



↑平坦で走りやすいトレイルを3km程走ると今度は下りの舗装路に出ました
 うりゃりゃりゃりゃー!!


↑地図上の加太板屋にあたる地点で橋を渡り川と離れたあたりからバンドウ山
 目指して猛烈な登りがはぢまりやがりました…はひ…画像は途中にある
 休憩ポイント…



↑ねむいさんの大好きな腐り落ちた木階段や他の方の山行レポートにも良く
 掲載されている特徴的な鉄塔をこえてずんずん登っていきます…はひ…


↑変わって猛烈な下りの階段責めを喰らいながら進むと
 舗装道路と落ち合いました。


↑ココがバンドウ峠???


↑少し進んで大きな道に出ると許されざる角度に傾いたハウスが...


↑舗装道路をさらに駆け降りると国道一号線と再び落ち合います。
 逢坂の関の時と同じく専用歩道橋を渡ります。


↑歩道橋から見た国道1号線です。


↑歩道橋を降りてすぐのこのポイントですが、東海自然歩道の道標が
 非常に分かりづらく国道1号をそのまま北上するかの様に錯覚してしまい
 ますが、それは間違いですぐ右折して少しの間トレイルに入ります。


↑ちょっとしたトレイルを抜けると、旧東海道の道(国道1号)を鈴鹿峠入口
 まで進みます。また、この地点には筆捨山を経て関ロッジ->JR関駅へ向かう
 サブルートがあります。所でこの仏像?みたいなのこわいんですけお…


↑旧東海道の宿場町であった坂下宿の区域を駆け抜けます。微妙な登坂に
 なっていて結構負担が…




↑鈴鹿唄子会館の側を通過します。東海道の宿場町を記した柱が等間隔に
 建っています。



↑国道1号を真っすぐに行かず途中でなぜか迂回して疑木階段の山道に入り
 やがります…。
 ねむいさん初めて見ましたがコンクリ製のギロチンみたいな急角度の
 階段も…orz


↑国道1号に再び合流する手前にあったお墓が荒れていたのできれいにして
 おきました。



↑んでもって旧東海道の鈴鹿峠に本格的に差し掛かります!路の途中にある
 片山神社(跡)を通り急な登坂をずんずん進みます。



↑旧東海道の名残が未だに見られる個所もありますが、それはすぐに終わり
 高速道路の下をくぐり抜けます。




↑高速道路を渡った先にある休憩所からさらに上ると、鈴鹿峠の解説の看板が!
 "あの場所"までもう少し!
 




↑…ッッついに!
 ネットの写真でしか見たことがなかった、いつか行ってみたかった場所に
 ついに!
 やはり実際に目にすると思っていたのとだいぶ印象違っていた感じです。
 積雪のある時期に足を踏み入れたせいもあるのでしょうけど。


↑しかし感慨にふけっている時間はありません。冷たい風雪が叩きつけていて
 ここでぼーっとしてるとあっという間に体温が下がってしまいますし、
 日没までに安全な場所まで出ないといけないので膝サポータとテーピングを
 入れ替えてそそくさとこの場所に別れを告げました。
 またあおう、鈴鹿峠。



↑鈴鹿峠を離れてすぐに三子山に向けて猛烈な登りが始まります。この地点、
 東海自然歩道で屈指の難所だそうですが、痩せきった尾根の上に木製の階段が
 所々で腐り落ちていて確かに危険です。



↑小休憩出来る所をこえて少ししたら双子山の登山道から離れます。
 一転して急な下りと変わり山女原へと向かいます。…雪道は無駄に体力
 喰ったり滑ったりしていやなのですがこんだけつもってると下りの際に
 足への衝撃がかなり和らいで助かりました…。



↑雪に覆われた農道を下り山女原(あけびがはら)と呼ばれる地域まで
 出てきました。


↑山女原の集落の中を駆けて少しすると安楽越直通の近道とかもしか高原を
 通る正規のルートの分岐にでます。
 ねむいさんはもちろんかもしか高原のルートを選択!



↑かもしか高原への道は途中まで舗装道路ですが、ダムを超えたあたりから
 山道へと変わります。
 途中の橋を越えると深い雪と九十九折りの本格的な登りになります。


↑かもしか高原はその名の示すとおりニホンカモシカが生息する地なのですが、
 残念ながら姿を見ることはできませんでした。
 しかし雪道に蹄の踏み跡があったりふんが落ちていたのでその存在の形跡を
 確かめることができました。



↑きつい坂を15分ほど登ると急に周りが開けて、一面が雪に覆われた
 かもしか高原のてっぺんにたどりつきました。
 ねむいさん何もかも忘れて雪にダイブしたかったのですが、我慢して先に
 進みました…。開けた場所は風雪が叩きつけてあまり留まっていられません
 …ぶるぶる。もちろん景色なんぞ一面真っ白で何にも分かりません!


↑で、かもしか高原を離れ安楽越へと下りましたが、ここが今回の行程で
 一番雪が深かったです。もう膝までザクザク嵌って全く先に進みません!
 トーホグに住んでるとしあき君ならこんなの屁なんでしょうけど私にとっては
 かなり過酷です!
 雪庇を誤って踏みぬいでズッコケないように慎重に歩を選び下りました。



↑ほどなくして安楽越に到着です。なんだこのOKYってのは…まぁいいや
 ここから石水渓まで4km丸々ひたすら舗装道路の下りです。アイスバーンを
 よけながら一気に駆け降りました!うりゃりゃりゃー!!


↑ノンストップで駆け降りて行って、路面を覆っていた雪もかなり減って
 きたころ、石水渓の野外宿泊施設に到着しました。…さぁ次は椿大sh…


↑ぇ…10km以上あるの…もう16:30だし今までで一番走ったし行程的に切りも
 いいし今日はこれくらいにしといてあげましょうか〜



↑次回のエントリポイントはこの仙ヶ岳登山口になります。第二名神高速道路の
 陸橋が目印。次回の湯ノ山温泉までは24km程の楽な行程の予定です。
 温泉とかも入っちゃったりして♥
 さてと池山西まで下りてバスに乗って亀山駅にかえr…


 !!!!!(※当日は日曜日でした)
 JR亀山駅まで約12kmの罰ゲームみたいな追加ロードメニュー開始!!!orz


↑やべーどんどん暗くなってきてる…


↑燃料切れ起こして平坦なロードですら走れなくなったので非常用で
 温存していた虎の子のSAVASピットインリキッドを摂取して元気100倍になった後
再度走る!!!あともう少し!!


↑真っ暗になった亀山の市街地で親切なおばさまやラーメン屋のお兄ちゃん
 (池麺)道を教えてもらいつつ、ついにJR亀山駅に着いた
 …今回はマジでハードだったぜ…



ってわけで今回はねむいさんのリサーチ不足で最後の最後でむだに距離を
増やしてしまいましたが、それでも東海自然歩道のルートだけでも45km強
あったのでかなり満足できる内容と実感しました!

…完璧に対策していたとはいえよく負傷しないで最後まで持ったな私の足…

今回記録したNMEAの生ログはこちらに
間引きしたGPXのデータはヤマレコの私のページにあります


次回はいないさんの誕生日の次の日に休みをとって
(※地域バスは日曜休日運休のため)石水渓から湯の山温泉を目指します。
行程としては先に述べたとおり、たったの24kmで"楽勝"なので、
湯の山温泉でゆったりと温泉につかってみたいと思います♥


し か し …

XMEGAを使ってみる4


たぬ

たぬ

たぬ!
ねむいさんもついにたぬたぬのOWNERになれた…
良いことあると良いですね〜♥法明院で見たとき以来惚れこみました♥
ちなみにこの子、前回たぬき村行った時にゲッツしたと言っていた物です!





…さて本題、Windows上でGCCにてAVR/XMEGAの開発が手軽にできる"WinAVR"は、
20100110版で開発は終了しており現在はATMEL公式から配布されている
AVR ToolChain
へとひきつがれています。
そして以前から非公式で海外の掲示板で出回っていた有用なProgramMemory
アクセスの為のマクロが今回から正式にとりこまれていたりするのでここいらで
ちょっとまとめてみたいと思います。



そもそものはじまりはXMEGA触り出した去年にさかのぼります。いろいろ
文句垂れながらXMEGAを動かして来たわけですがARMではお茶の子さいさいで
できたはずの"FontX2ファイルのような大容量のデータを配列として埋め込む"
ことができないという点で躓いたことからでした。これAVRの制約というより
AVR-GCCの制約と言った方が正しいのですが、

1.引数が32767以上の配列を確保することができない
2 uint32_tの配列としてバイト数を稼ごうとしてもそもそも合計32767バイト
  以上になる配列を確保することができない
3.64kb以上のメモリ領域のアドレスに通常のポインタを使って容易に
  アクセスができない

と分かる範囲で上げましたが、普通はAVR使いの人はフラッシュメモリ容量64kb
以下のAVRを使いフォント等の大容量のデータはSDカードに置いてそこから
アクセスするという手段が常套となっていて今回私のように横着してCの配列
として大容量のデータをフラッシュに焼きこむようなことを安易に考えると
この問題に引っかかるというわけです。


これ何とかならないかといろいろ検索して調べていると数年前に「PIC 
AVR 工作室」のnekosan氏も同じ問題
当たられていたようでこの制約について非常に深い考察をされていました。
nekosan氏は最終的に制約に引っかからないようにいくつか分割した配列として
アクセスする方式にされたようです。また同日のコメント欄にはnekosan氏と
Chuck氏のやり取りがあり、その中で中にGET_FAR_ADDRESSという単語が
出てきています。これは後述しますが"3."の制約を解消するための非常に
重要なキーワードとなります。


さて、制約はわかったけど実際どうすりゃいいのと言う話になりますが、
私はフォントファイルを直接オブジェクトにして焼きこんでCからは
インデックスだけ引っ張って来たらいいんじゃね?と考え、さらにググってみると
avr-freaksのフォーラムにavr-objcopyで行う方法の
議論がありました…って何年も前だけどこれあっちではFAQレベルなのか…



置き場にあるxmegaのFatFS+TFT-LCD表示のデモにはmakeファイル中に
具体的に美咲フォントをAnkと漢字ともにオブジェクト化しelfに取り込むための
記述をしてあります。

んでこれをCからアクセスするためにはavr-objcopyで吐かれたラベルを
参照すればおkです♥

…と言いたい と こ ろ だ が!

64kByte以上プログラムメモリを持つAVRにおいて、64kByte以上の領域に
いつもの調子でアクセスしようとするとお次は"3."の制約にあたってしまいます。
そもそもavr-gccはアドレスが16bitとして処理されていて、64kb以上の
メモリ領域にアクセスする時は非常に都合が悪いです(int型が16bitなのから
お察しできると思います)。たとえば…

prog_char inaisan[] = "daisuki!";

というプログラムメモリ上のデータを参照する際にこのデータがプログラム
メモリ上の64kByte以上のアドレスの領域にあった場合、

pgm_read_byte_far((uint_farptr_t)inaisan);

ってやっても配列inaisanの頭のデータ'd'は読み出せません。本来のアドレス
から65535さっぴかれたアドレスにある頓珍漢なデータが返ってくるでしょう。
これは本来24bitあるはずの配列のインデックスのアドレスを頭8bit分カット
した16bitで渡してしまうからです(ポインタ変数を介在させてもポインタの
サイズも16bitで、16bit分のアドレスしか表現できないから同じ結果)。
これを解消するのがGET_FAR_ADDRESSというマクロで、uint32_t型の値を返します。

このマクロを通すとpgm_read_byte_far等のELPMを使う関数へ24bitアドレ
として正常に値を渡すことができます。また、このマクロは長らく非公式でしたが
現在ATMELから配布されているAVR Toolchainではpgm_get_far_address
名をかえて公式にとりこまれることとなりました。めでたしめでたし。
…私の説明分かりずらいから各自pgmspace.h見た方が早いと思います…。


↑んで、見た目は去年と全く変わり映えしませんが上記のすべてを反映させて、
 AVR Toolchainでビルドして動かしたXMEGAのデモさん。
 やっぱARMの方が組みやすいなぁ…と思うことひとしきり




つらつらとまとまりきれないまとめを書いてみましたが、WinAVRからAVR Toolchainに
変わってから気づいたことのTipsとか

●unixライクなツール群
 WinAVRにはARMマイコンのビルドにも重宝したutilsフォルダ内のmakeを含む
unixライクなツール群があったのですがATMEL公式から配布されたAVR Toolchain
には存在しません!代わりにavr-gccと同じフォルダに同等の機能のものが一切
合財ぶち込まれていますが、使いやすさを考えるとWinAVRのutilsフォルダだけ
保存しといて旧来のWinAVRよろしくビルド時にはそこからmake呼び出せられるように
すればモアベターだと思います。
私みたいなコマンドラインビルド野郎向けですがー!

20121130追:
 WinAVRはもはや時代遅れです。WinAVRについていたutilsの代用は
 こちらをご覧ください

●EBIのSRAMモード
 24ビットアドレスのアクセスの問題はプログラムメモリの時の問題だけではなく、
 もちろんI/O領域にも波及しやがります。厳密に言うとAVR Toolchainとはあんまし
 関係ないのですが、ATMEL配布のXMEGAのEBIのSRAMアクセスのデモが地味に
 バージョンアップしていて、pgm_get_far_addressよろしく24bitアドレス用の
 マクロが用意されています。
 
 ねむいさんxmega使ってこれ以上やる気ナッシングになってしまいましたから
 あんまし関係ないですが…

●delay.h
 AVR Toolchainに変えたらmakefileで正しくクロック周波数を設定してヒューズも
 間違ってないのに以前と違ってちゃんと動かねぇ!1!とお嘆きの方、utils/delay.hを
 よ〜く見てください。
 HAS_DELAY_CYCLESというdefineを1から0にすると幸せになれるかも…。
 若しくは私みたいmakefile中でavr-gccにHAS_DELAY_CYCLES=0の定義を渡して
 やるとよいです。

or

 この問題、意外と根は深いようですね…

Go to top of page