X



【TOPPERS】ITRON総合スレ3【NORTi】【HOS】

0344Be名無しさん
垢版 |
2009/06/16(火) 12:30:15
仕様的には、CRE_TSKとかの静的APIによる記述を受け取って、
ソースコードを出力するものがコンフィグレータ、だったかな?
0345341
垢版 |
2009/06/16(火) 12:47:20
え、何それ。

つまり、ITRONのAPIベースのアプリを書いて、
そのジェネレータを通すとあっという間にコンパイルできるってこと?
0346Be名無しさん
垢版 |
2009/06/16(火) 13:07:45
μITRON4.0標準ガイドブックのpp.267〜274に具体例での説明がある。
0347Be名無しさん
垢版 |
2009/06/16(火) 15:18:40
>μITRON4.0標準ガイドブック
持ってない。
T-Kernel標準ハンドブックなら持ってるけど、ASPのページなんかないお。
0348Be名無しさん
垢版 |
2009/06/16(火) 15:33:43
一例では、
CRE_TSK(ID_TSK_A, {...});
のように静的にタスクを定義すると、コンフィギュレータが、
kernel_id.h として
#define ID_TSK_A 1
のように、静的に定義されたタスクIDを対応させてくれる、とか。
0349Be名無しさん
垢版 |
2009/06/16(火) 16:28:32
JSPのコンフィギュレータもC++で書かれている訳だが…
#Boostは使ってないが.

>>343
>じゃ、氏んでもHEWじゃコンパイルできないね。
っていうか,コンフィギュレータはホストで動くのでHEWでビルドする必要なないな.

>>347
μITRON4.0仕様書の2.1.10に書いてあるよ
ASPはT-Kernelとは関係ない.
0350Be名無しさん
垢版 |
2009/06/16(火) 19:27:50
どっちにしても, 新規プラットフォームとかサポートしてない環境とか
あって役に立たないので, 結局 yacc/bison + flex あたりで自前のもの
を作って運用する羽目になるんだけどな >コンフィギュレータ
0354Be名無しさん
垢版 |
2009/06/17(水) 10:06:12
VCでコンパイルしたASPのコンフィギュレータ需要ある?
0355Be名無しさん
垢版 |
2009/06/17(水) 11:06:32
うだうだ聞くまえに公開汁!
このガラパゴ野郎!
0357Be名無しさん
垢版 |
2009/06/17(水) 23:51:31
>354
mingwでコンパイルしたやつ配布されているぞ
0358Be名無しさん
垢版 |
2009/06/18(木) 09:27:59
そんなこと書くからガラパゴスになっちゃうんだろ。

PC/Winなんて草木どころかゴミのように同じVBアプリがあっても生暖かい目で見て貰えるのにwww
0359Be名無しさん
垢版 |
2009/06/18(木) 19:30:21
asp/cfg/configure って使えねぇ
Makefile 直接いじったほうが早いじゃん
0360Be名無しさん
垢版 |
2009/06/18(木) 22:26:15
ASP の kernel_cfg.c の uint32_t _kernel_ipm_mask_tbl がおかしい…
Priority 0 と -1 の値が 0x00000 0 と間にスペースが入ってる…
うちだけこうなるの?
0362Be名無しさん
垢版 |
2009/06/19(金) 08:01:50
入れるなといわれても…
公式リリースされたのを make depend しただけで入れられるんだけど…
0363Be名無しさん
垢版 |
2009/06/21(日) 00:27:55
sample.cfgにそんな記述(priorityに0と-1)あったっけ
0364Be名無しさん
垢版 |
2009/06/21(日) 10:04:23
sample.cfg にはない
make depend 時に生成される kernel_cfg.c で配列 _kernel_ipm_mask_tbl に
Pririty 0 から -n (TMIN_INTPRI だと思う) を用意される…
0365Be名無しさん
垢版 |
2009/06/22(月) 11:53:53
SH4だと
const uint32_t _kernel_int_iipm_tbl[TNUM_INT] = {


UINT32_C(0x400000f1), /* 0x000 */


UINT32_C(0x400000f1), /* 0x020 */


UINT32_C(0x400000f1), /* 0x040 */


・・・

ってなるな
アーキテクチャはARMか?
0366Be名無しさん
垢版 |
2009/06/22(月) 12:21:55
ARM です。
target は at91skyeye_gcc と btc090_gcc (下のようになる) の両方試しました…

const uint32_t _kernel_ipm_mask_tbl[8]={
    UINT32_C(0x000000 0),/* Priority 0 */
    UINT32_C(0x000000 0),/* Priority -1 */
    UINT32_C(0x00000002),/* Priority -2 */
    UINT32_C(0x00000002),/* Priority -3 */
    UINT32_C(0x00000002),/* Priority -4 */
    UINT32_C(0x00000002),/* Priority -5 */
    UINT32_C(0x00001002),/* Priority -6 */
    UINT32_C(0x00001002),/* Priority -7 */
};
0367Be名無しさん
垢版 |
2009/06/22(月) 13:58:43
バグっぽいね

仕様確認&バグ報告として
TOPPERS MLに投げれば?
0368Be名無しさん
垢版 |
2009/07/02(木) 23:26:19
TraceLogVisualizerだけ使ってみたい。
似たようなフリーのツールってありますか?
0369Be名無しさん
垢版 |
2009/07/03(金) 12:04:41
たぶんない
早く公開してほしい

PALMiCE3やAdcviceLUNAなら
トレース出来るみたいだけどね
0370Be名無しさん
垢版 |
2009/07/03(金) 14:58:14
>>366

簡易パッケージのasp_at91skyeye_gcc-20081104.tar.gzで試してみたらこうなったぞ.

const uint32_t _kernel_ipm_mask_tbl[8]={
UINT32_C(0x00000000),/* Priority 0 */
UINT32_C(0x00000000),/* Priority -1 */
UINT32_C(0x00000004),/* Priority -2 */
UINT32_C(0x00000004),/* Priority -3 */
UINT32_C(0x00000004),/* Priority -4 */
UINT32_C(0x00000004),/* Priority -5 */
UINT32_C(0x00000024),/* Priority -6 */
UINT32_C(0x00000024),/* Priority -7 */

};

cfg.exeはバイナリ配布と簡易パッケージからビルドしたもの両方でためしたが,同じ結果だ.
どのバージョンのソースコードを使ったの?
0371Be名無しさん
垢版 |
2009/07/03(金) 19:57:44
>>370
うちはこれ
asp-1.4.0.tar.gz
asp_arch_arm_gcc-1.4.0.tar.gz
cfg-1.5.0.tar.gz
0372Be名無しさん
垢版 |
2009/07/09(木) 10:34:34
( ・∀・)< くだ質でごめん
ASPやJSPはシステムログ出力のシリアルポートが1ポートしかないとき、TNUM_SIOPと
TNUM_PORTはともに1でいいの?
上の考えであっている場合、バーナー表示まではポーリング出力でそのご割り込みに
よる出力に切り替えになるの?
0375Be名無しさん
垢版 |
2009/07/11(土) 20:53:35
>>373
ありがとう(・∀・)

ところでSPIでLCDやSDCardの制御などしたい場合など、どのディレクトリ(のファイル)に
直接レジスタ叩くコードやLCDならLCDの制御をまとめたコードとか書けばいいのかな?
何かよいサンプルなりサイトがあったら教えてください。
いつも移植してsampleが動くとこまでやって悩んでるんでw
0376Be名無しさん
垢版 |
2009/07/12(日) 00:54:07
>>375
汎用に使えるドライバならはpdic.pdicからのインターフェースはtargetに書くかな.
0378Be名無しさん
垢版 |
2009/07/31(金) 22:26:49
頑張ってみたけどちょっと壁にぶち当たってしまった(・∀・)
CQ 付録基板の LPC2388 で ASP + FatFS をと思って作業してるけど、
メインタスクが動きだしたところで Unregistered Exception occurs. が発生しまくり。
どうやら MCI 制御で発生してるらしいのはわかるんだけど、これの原因はどうやって
探せばいいんだろ?

また>>375でも書いたけどよいサンプルとかないですか?
ハード屋なもんで ASP カーネル付属ドキュメントとカーネルソースだけじゃ FatFS に限
らずいろいろと追加する方法というか流儀がよくわからないので…(;∀;)
0380Be名無しさん
垢版 |
2009/08/01(土) 06:15:55
>>379
それは JSP 本だよね、ASP でも同じ感じなのかな?(・∀・)
移植事例は JSP 本体がメインだったような…
ASP 本体は一応移植できてて FatFs などのミドルウェアとそのドライバの組み込み
ではまってるんです。
とりあえず本屋にいってみるね。
0381Be名無しさん
垢版 |
2009/08/05(水) 10:26:50
みんなデバックはどうやってるの? (・∀・)
いまだに>>378の状態から進展なしです…
0383Be名無しさん
垢版 |
2009/08/05(水) 23:56:32
やっぱり ICE ですか(・∀・)
なんとか LED チカチカだけでデバックできたけど、そろそろ ICE とか便利な
環境を用意しないとだめですね
0384Be名無しさん
垢版 |
2009/08/06(木) 00:53:07
Unregistered Exception occurs.って何かの割り込みが定義されてないからじゃ。
LOG_INH_ENTERとかdefineしてLOGとってみたら
0385Be名無しさん
垢版 |
2009/08/06(木) 11:28:01
ありがとう(・∀・)
今度はまった時は LOG_INH_ENTER やってみる
0386Be名無しさん
垢版 |
2009/08/10(月) 03:06:20
ヘルプなんですけれど
itron に pthread_join() の相当品って無いんですかねぇ。

pthread_join() のように、親タスクが、子タスクが終了するまで待つのは、
子タスクから sig_sem か何かを親におくってもらうようにするしか無いんですかねー?
0388Be名無しさん
垢版 |
2009/08/10(月) 21:28:00
( ・∀・)< くだ質でごめん
データ転送処理などで割り込みビットをずっとポーリングするようなプログラム
をポーリングを止めて他の処理ができるようにうまく書き直すにはどうすればい
いの?

セマフォを使用して
1.最初に CRE_SEM でセマフォオブジェクトの生成
2.割り込みハンドラで isig_sem でセマフォ資源解放
3.ポーリング部分を wai_sem でセマフォ資源獲得に変更
って感じに考えたんだけど…
1 と 2 の間と 3 の後に(ポーリングしていたタスク以外?が)セマフォ資源を獲
得しておかないといけないかなと思うんだけど、これをどうすればいいのかわか
ってないです

0390Be名無しさん
垢版 |
2009/08/12(水) 19:55:58
>>389
ありがとう(・∀・)
試しに簡単に直せる部分だけセマフォ使うようにしてみて無事に動いたよ
0391Be名無しさん
垢版 |
2009/08/13(木) 00:49:33
タスクのスタックサイズてどうやって決めればいいの?
0392Be名無しさん
垢版 |
2009/08/13(木) 02:02:52
各関数で使用するスタックを計算して決めればいい

toppersなら各タスクのスタックポインタの取得が出来るから
最初はある程度大きくスタックを取っておいて
一番スタックを消費する関数を行った後
スタック領域の終端から先頭にかけて
0でない領域までのサイズを測れば
おおよその空きスタック量が分かる

SH環境ならHEW(SHC)にcall waker(スタック測定ツール)があるので
これを使うのもあり
0393Be名無しさん
垢版 |
2009/08/13(木) 15:05:07
>一番スタックを消費する関数を行った後

一番スタックを消費する関数まで行った後
だった。

各関数のスタック使用量を手で計算するのが確実かな・・
計算ミスしないことが条件だけど

あと各サービスコールの使用スタック量については各OSのサポートに聞くしかないんじゃないかな
0394Be名無しさん
垢版 |
2009/08/13(木) 15:43:50
TINET や FatFs, 公式のって JSP 用って感じだけど ASP でそのまま使える
形のものを配布する予定はないのかな?(・∀・)
0395Be名無しさん
垢版 |
2009/08/13(木) 18:11:53
>>393
関数の使用量は普通に自動変数の総和でいいのかな。
0396Be名無しさん
垢版 |
2009/08/13(木) 20:26:02
>>395
スタックに貯められるのは
・関数の引数
・関数内の自動変数
・呼び出した関数の呼び出し元のポインタ等
 (CPUの全レジスタも?)
かな?
あんまり詳しいわけじゃないので間違ってたらスマソ
0397Be名無しさん
垢版 |
2009/08/14(金) 07:26:05
>>396
> ・呼び出した関数の呼び出し元のポインタ等
>  (CPUの全レジスタも?)
その辺はコンパイラのABI見ないと何とも言えない
0399Be名無しさん
垢版 |
2009/08/17(月) 16:06:02
割り込み発生時のスタックサイズも基本的に変わらん
OSのマニュアル、コンフィギュレーション見れ

大体は割り込み発生時に、
割り込みが発生した瞬間のCPUの全レジスタを退避させ
割り込み用スタック領域をスタックポインタに割り当てる。
この時退避したものを格納する領域は割り込み用スタック領域ではなく専用の領域を使用する(?)

CPUによっては割り込み時にCPUの全レジスタを
CPUが自動で退避させるものもあったような気がする
0400Be名無しさん
垢版 |
2009/08/17(月) 21:06:24
ミスポだっけな?

デバッグオプションを付けると
タスク生成時にスタック領域を
タスク番号でmemsetする

ある程度動かした後、スタックメモリを見れば
だいたいどのぐらい使ってるかわかった

厳密な計算は不向きだけど
しくみがシンプルでわかりやすかった
0401Be名無しさん
垢版 |
2009/08/22(土) 12:03:18
タスク毎のスタックと
カーネル(割り込みも含む)のスタックがあり、
割り込み時やカーネル呼び出し時には、カーネルスタックに
切り替えます。
切り替える前にタスクのスタックにレジスタを退避します。
これをタスクコンテキストと呼んでいるようです。
ちなみにのこのタスクコンテキストのロード、ストアを
1命令で行う命令がM16C系にはあったりします。

>あと各サービスコールの使用スタック量については各OSのサポート
>に聞くしかないんじゃないかな

ルネサス純正だったら、#pragama でサービスコールの定義してある
ヘッダファイルがあって、その宣言にそのサービスコールの使用スタック量が
記述してある。call wakerは、サービスコールから先の部分はこれを参照して
スタック量を算出している。
0402ITRON名無しさん ◆4WD27e3i1o
垢版 |
2009/08/26(水) 15:04:35
>>366
Boostのバージョンが新しいと,空白が入るみたいだよ.
Boostのバグなのか,cfgのバグなのかはわからないや.
0403ITRON名無しさん ◆4WD27e3i1o
垢版 |
2009/08/26(水) 15:12:37
>>392
0埋めすると,0で代入された場合に読み違えるから0xdeadbeafとか0xcafebabeとか特徴的な値のほうがよいと思うよ.

あとね,gccならLinuxカーネル界隈で使っているcheckstack.pl が応用できるかもしれないよ.
関数単位の数値になるから,何らかの方法で実行パスを押さえておく必要があるかもね.
0404Be名無しさん
垢版 |
2009/08/26(水) 15:30:16
>>402
情報ありがとう(・∀・)
おいら 1.38 使ってるから多分あてはまってますね
0407Be名無しさん
垢版 |
2009/09/05(土) 20:10:34
      _, ,_
  〃〃(`Д´ ∩ < みんなドコドコドコ
     ⊂   (
       ヽ∩ つ  ジタバタ
0413ITRON名無しさん ◆4WD27e3i1o
垢版 |
2009/10/27(火) 16:41:22
>>394
TINETは1.5でASP対応版が出る予定だよ.(現在はβ版が早期リリース)
ttps://www.toppers.jp/members.html#early
FatFsは…TECSの進捗次第のような気がするよ.
0414Be名無しさん
垢版 |
2009/10/30(金) 12:15:58
>>413
いつかわからないけど、ちょっとだけ期待してまってます(・∀・)フゥ
それにしても公式サイトのASP, Coretex-M3が1.4.0になってないのも不満です
0415Be名無しさん
垢版 |
2009/10/30(金) 14:02:24
VMWare上で試しに動かしたいのにインテル版が無いのが残念なASP
0416Be名無しさん
垢版 |
2009/10/31(土) 00:29:29
なけりゃ作れ、といいたい所だが、
そこまでモチベーションをあげるのは難しそう。
自分もJSP版exfatfsとか ipv6 dlnaサーバとか
作りたいな〜と思いつつ何もしてない

そういうのを仕事にして
給料もらえるとこってないですかね。
0418Be名無しさん
垢版 |
2009/11/09(月) 18:25:15
スイッチON! 起業!!!


:
た、隊長、スイッチ効いてないです.. タスクに制御がきません!!
0419Be名無しさん
垢版 |
2009/11/10(火) 20:04:52
TECSってRubyとか用意しないといけないのか(・∀・)メンドクセ
0424Be名無しさん
垢版 |
2009/12/02(水) 18:25:06
Androidや iPhoneに対抗するような開発環境パックは作んないの?
0426Be名無しさん
垢版 |
2009/12/02(水) 20:32:42
T-Engineフォーラムという、指導者が同じで実質やってることが変わらない団体が
もうひとつあったわけで、2つあっても無駄ってことだろ。
0427Be名無しさん
垢版 |
2009/12/03(木) 08:42:43
で、ITRONとT-Engineと実質どっちが流行ってるよ?
0429Be名無しさん
垢版 |
2009/12/28(月) 11:59:52
      _, ,_
  〃〃(`Д´ ∩ < みんなドコドコドコ
     ⊂   (
       ヽ∩ つ  ジタバタ
0431Be名無しさん
垢版 |
2010/02/02(火) 16:28:02
      _, ,_
  〃〃(`Д´ ∩ < あそこってドコドコドコ
     ⊂   (
       ヽ∩ つ  ジタバタ
0432Be名無しさん
垢版 |
2010/03/24(水) 07:36:57
     ∧∧  ミ _ ドスッ
     (   ,,)┌─┴┴─┐
    /   つ.  終  了 │
  〜′ /´ └─┬┬─┘
   ∪ ∪      ││ _ε3
            ゛゛'゛'゛
0434Be名無しさん
垢版 |
2010/03/24(水) 09:38:32
レンホー:「T-Engineじゃないとダメなんですか?ITRONではダメなんですか?」
0439Be名無しさん
垢版 |
2010/03/29(月) 09:39:55
立ち上がらないプロジェクトは時間の無駄です。
0440Be名無しさん
垢版 |
2010/03/31(水) 20:16:16
タスクの周期って早すぎても問題ないんですかね?
前の会社だとほとんどのタスクが5ms周期(dlt_tsk(1)で5ms遅延)だったんだけど。
だいたい1msとか5msとかなんですかね?
0441Be名無しさん
垢版 |
2010/04/02(金) 10:57:32
>440
それはマイコンの性能によるでしょう。
早すぎは問題だし、長くしすぎると精度がでないね。(いらんかも知れないが)
遅いマイコンで1ms周期にしたりすると、周期の割込みにばかり時間が
とられて、パフォーマンスがガタ落ちになるんじゃないかな。
0442Be名無しさん
垢版 |
2010/04/03(土) 18:15:26
ARM Cortex-M3アーキテクチャ版はいつになったら1.4.0になるのかな
0443Be名無しさん
垢版 |
2010/04/08(木) 14:35:25
T-Engineの上にQtとPOSIX載っちゃったね。

世の中のC/C++系アプリが、POSIX、Win32APIベースになっちゃったり、
それらに組み込み用IFが追加されたら、
ますますITRONが有って無きものになっちゃうんじゃね?

アプリからは見えないけど、ITRONのソースはきっちりリンクしてるんですよ、みたいな。。。
レスを投稿する


ニューススポーツなんでも実況