[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

(toppers-users 3090) Cortex-M3でTOPPERS/ASPにトライしています。文字入力が出来ません。



始めまして、koisanと申します。
Cortex-M3を使ってTOPPERS/ASPにトライしています。ビルドが通って動き出しましたが、良くわからないことが2,3在ります。小生のやっていることが正しいのかサポートが頂ければと思いメールを書きました。もしかしたら既に議論されているのかも知れませんが、ログを見つけることが出来ませんでした。
 
1. renameが上手く行かない
 オリジナルのままでは名前の問題でデバッグが面倒なのでkernl_rename.hでの名前の変更を削除しました。
 しかし、syslog.cで名前の誤りでコンパイルエラーになります。_kernel_urrent_timeが使われていますが、current_timeが正しいと思います。
 修正して先に進めています。
 
2 キー入力が出来ない
 main_task()のdoループでキー入力しても、SVC_PERROR()の次に進みません。
 A.キー入力の割り込みが動作し、セマフォ待ちのmain_task()の待ちを解除しようとしますが、この時p_schedtskはlogtask_mainを指しています。p_runtskはtask(1)です。
 B.割り込みが発生した時のタスクは(intptr_t)(1), (task)です。よってキー割り込みの処理はOKで、待ちタスクを起動するmake_runnable()の if (p_schedtsk == (TCB *) NULL || pri < p_schedtsk->priority) {の条件が成立しないので、セマフォ待ちのmain_task()を起動できないと思っています。
 C.netで調べると、私以外にもキー入力が出来ない問題に遭遇している方がいるようです。OSのタスク起動関連に問題が有るか、私の環境が不足していると思っています。
 私はA.になっていることが変だと思っていますが、TOPPERSのDispachは理解できていません。
 
3 起動ログを見ると文字化けがあります
 2と関係が有るのかの知れませんが、起動ログに文字抜けがあります。私のログは以下の通りです。メッセージが重なり、2回表示されいるような気がします。

TOPPERS/ASP Kernel Release 1.3.2 for CQ-STARM(STM32F103) (Mar 12 2010, 20:37:33)
Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
                            Toyohashi Univ. of Technology, JAPAN
Copyright (C) 2004-2008 by Embedded and Real-Time Systems Laboratory
            Graduate School of Information Science, Nagoya Univ., JAPAN
System logging task is started on port 1.
Systemample program starts (exinf = 0).
 logging task is started on port 1.
Sampleask is running (001).
e program starts (exinf = 0).
task1 is running (002).
task1 is running (003).
task1 is running (003).
 
 何が正しいのか判っていませんが、何か変な感じです。
 
 尚、ソースはTOPPERS/ASMの個別パッケージをダウンロードし、ARM_GCCとCQ-STARM(STM32F103)を使っています。
 
 以上