2012/07/29

[os]アプリとライブラリを分離

FM3+TOPPERS/ASPに、自作NFCライブラリを持ってこようとしている。

消費電力とか効率とかはまったく考慮せず、PCで動かしたのと同等くらいのものが移植できたんじゃないかな、と思う。
移植といっても、C++だったものをCに置き換える作業がほとんどだったがね。

https://github.com/hirokuma/toppers_snep_target

 

NFC部分はヘッダファイルとライブラリだけにしてもビルドできるようになった。
まあ、-gで-O0なので、中身は見放題じゃないかね。

 

gccのリンクって、oファイル単位だったような気がする。
違ったっけ。。。こんなのがあるらしいが、やったことないな。ここにも記載がある。
R/W操作を1ファイルにしているので、けっこう大きくなるかも。
試しに--ffunction-sectionsと--gc-sectionsを付けてみたが、--gc-sectionsがあるとTOPPERS/ASPのcfgってのに怒られた。
なんかあるんじゃろうね。


libhknfcrwはTOPPERS向けに作ったところは特にないとおもう。
移植対象は、hk_misc.hとhk_devaccess.hに分けているので、そこに環境向けの実装を書けばなんとかなるんじゃなかろうか。

今回は、hk_misc.cとhk_devaccess_toppers.cというのにしている。
私が作った中で、唯一μITRONっぽいことをしている箇所だ。
シリアルの送信なんて非同期でやってるので、do-while()でぐるぐる待たせてるくらいだから、あんまりいいしくみではない。
送信側はイベント待ちにして眠らせ、送信完了割込でイベントを発生させるようにすりゃいいのかな?
まだこの辺りの流れがよくわかってない。

0 件のコメント:

コメントを投稿

コメントありがとうございます。
スパムかもしれない、と私が思ったら、
申し訳ないですが勝手に削除することもあります。

注: コメントを投稿できるのは、このブログのメンバーだけです。