X



トップページ電気・電子
139コメント54KB
【Toppers】組込みOSのスレがないじゃないか【freeRTOS】
0001774ワット発電中さん
垢版 |
2019/08/29(木) 19:37:37.17ID:1mQYwlMH
お前らみんなベアメタルなの?

freeRTOSがフリーなRTOSの一般名詞だと思ってたんだが、アマゾンの組込みOSだと知って衝撃を受けた。
つか、10年くらい前からやってるtoppersなんか遥か彼方に追い越した感があるけど、どうなってんだろうな。

今日、試しにcubeIDEでSWを押すとLEDの点滅間隔が変わるだけのソフトをfreeRTOSを使って動くのを作ってみたんだが
結構簡単だな。
0002774ワット発電中さん
垢版 |
2019/08/29(木) 22:45:11.46ID:f3fqnfjr
oo|o|o|oo|||oo|ooo||ooooo||o|o||o||o||o||oo||ooo||||o|o||ooo||ooooo||||o|o||
ooooo|||ooooo|o|oo||ooo|oo||o|||||oo|oo||o||oo||o||o|ooooo|oo|o|o|||o|||||||
|o|oo|oooo|||o||ooo|oo|o|o||o||o|o|o|||oo||oooo|o|o|ooo||||oo|o|oo|o|||o||o|
ooo|oooo||ooooooo|o||ooo||o||||o|o||o|o||oo||o||o|||o|ooo|o|o|||o|ooo|||o|||
|||oo|o|ooo||||o|o|o|o|o|oo|||ooo|||oo|o||oo|o|oo||o|oo||o||ooo||ooo|oo||oo|
o|ooo||||ooo|ooo||o|o|||||oo|ooo||o|oo||oo|||o|ooo||o||oo|||oo|o|ooo||oo||o|
oo|oo|||oooo|o||o|ooo|o|oo|oo||||||o|o||o|o||oo|||oo|ooooooo|o||||o||o||oo||
ooo||o||o||o|o||oo||oo|o|o|oo||oo||o|ooooo||o|ooo||ooo|o||||oo|ooo|||o|||o||
o|o|||o||oo|o||o|o||||o|o|o|o|oo|o||o|o||oooo|oooo|||o|o|o|oo||oooo|o|o|o||o
|||ooo|ooo||o|ooo||o|oo|||ooo|oooo||o|o||o|o||||o||o|||ooo|oooo|o|o|oo||o|||
oooo||o||oo|||oo||||ooooo||||o||o||o|o|oooo||ooooooooo||o|o||o|oo|||||oo||||
oo|o||oo|o||o|||oo|oo||ooo|ooo|||o|ooooo|o||||o|oo|oo|oo||||ooo||o|o||oo||||
|||ooooo||||ooo|o|ooo|||o|ooooo|ooo|||o|o|o|oo||o|ooo|||o|||o|||oo|o|oo|o|||
ooo|o||||oooo|o|oo|o|o|||ooooo|||o|o|o|oo|||o|o|oooo|o|||o|oo|o|||o|||o|o|o|
oo|||oo|o||||o||o|o|oo||ooo|oo||oo||oo|o|o||o||o|o||||oo|oo|o||ooo||oooo||oo
o||||ooo|oo||oo||||o|oooooo|||ooo|oo||o|||o||||ooo||oooo|o||o|o|o|o|oo||oo||
o|o|ooo|o|oo||oo|oooooo|||oo|||||oo|o|||o|ooo|||||||||||oo||oo|||o||oooooooo
||oo|o|o||||ooooo|||ooo|||||oo|||o|oo||o|oooo||o||ooooo||o||oo|oo|oo||oo|o||
oo|o|||ooooooo|o|o|ooo||oo||||ooo|oooo||o|o||ooooo||o|o||o|||||||o|oo|o|||||
o|o|o|oo|o|o|oooooooo|o|||||||oo||oooo||oo|oo|o|||oo|||o|o||oo||o|||o||||ooo
o|oo||oo|oo|oooo||||||||o||o||o|oo|||o|||o|||||o|o||oooo|||oo|o|oooooooooo|o
|ooo|ooo|oo|o|o|||oo|o|ooooo|o|oo|oo||o||o|o|o||ooo||o||o||||oo|o||o|oo|||||
|oo||o|oo||o|||oo|o|o|o|o|oooo|||o|||oo|o||o||||oo|o||o|o|o|||o|oo|oooooo|oo
ooo||o|||||o|o||oooooooo||o|||||o||oo|ooo|oo|ooo|ooo|o|ooooo|o|||o||||||o|||
||ooo|o||oo||o||o|||||ooo|||o|oo||o|oo|ooo|oo|o||oo|ooo|||||o|o|oo|ooo|ooo||
|o|o||o|||||oo||||ooooooo|ooo|o|ooo|oooo|ooo||||o|o||o|o||||ooo|||o|o||oo|o|
oo|||oo||oo||ooo|o||||o|o|o||oo|o|oo|oo|oooo|o|o|||o||oooo|o||||o|o|||o|o|oo
||ooooooo||oo||oo|oo||o|||o|oooooo|o|||oo||oo||o|||ooo||o|||ooo|oo||oo||||||
ooo|oooo||o|||oooooo|o||ooo||oo|o|||oo||||o||o|||ooo|o|o|||o||o|ooo||o||o|o|
o||||oo|ooo|o|o||oo||ooo|o|||||||o|ooo|oo|oooo||o|o||oo||o|||o|oo||o|o|oo|oo
||oo|ooo|o|o|||||ooooo|o||oo|oo|oooo|||||o|oo|o|||o|ooo|o|o|o|o||||ooo|o|o||
|ooooooo||oooooo||o|oo||||o|o|oo|o|o||o|oo|o||o|||||oooo|oo|o|ooo|||||o|||||
o||ooo|o|o|ooo|||||o|||ooo|oooo||||o||o|o|ooooo||o|o|o|oo|o|oo||oo|||||oo|o|
o|oo||oooooooo|o|o||||o||oo||||||||||o||o||||||ooo|oooo|||oooo|ooo|ooooo|o||
|ooooooo|o|ooooo||oo||||o|||oo|||ooo|||||ooooo|||o|oo|||||o|o|oo|o|o|||ooo||
oo||o|oo||||o|o|o|ooo||ooo|ooo||o|oo|o|o|oo|||o|o||o|oo|||||oo|o||o|o|||oooo
o|||oooo|||ooo|o||o|ooo||o|ooooo|ooooo||oo|||o|oo|o||o|||o|ooo|||oo|o|||||||
||oo|oooo|o||||o||oo|oooo|o|o|o|||o|o|o|o|ooo|oooo|||||ooo|oo|||ooo||o||o|||
oo||ooo|o|||oo||oo|ooooo|o||ooooo|||o|o|oo|||o|||||||oo||ooooo|oo|o|||||o|o|
oo|oo|ooo|ooo|||o|oo|oo|ooo||oo|||||oo|oo|o|o|o|||||||o|ooo|||o|||||oo||oooo
|||oo|ooo||ooo|o||o||o||o|oooooo|o||o|oo|||oo||o||o|||||ooo|ooooo|o|oo|o||||
|ooo|o|ooo||o|o|||oo|||||o|||oo|o|oo|oo||o||||ooo||||||o||o|o|ooooo||ooooooo
o|o|oo||o|ooo||o||o|o||o|o|o||o|o|o|o|oo|oo||||oo|o||o||o|oo|oo|o|o|o|o|o|oo
o|o|oo|o|o|o|o|oo|o|||o|oo|oo|oo|o|o||ooo|oo|ooo|o|||o|||o||o|o|||ooo|oo||||
oo|oo|ooo|o||o|||||ooo||oooooo||oo||||o|||oo||oooooo|||||o||||oo|o|||oo|o|oo
|o|o|oo|o||ooo||||o|ooo|ooo||||||o|oo|o|ooo|||o|||o|||o|o|oo|o|oooo||||ooooo
o|oo||o|oo|oo|oo|o||||||||oo|o|||||||ooo|oo||oo||||o||ooooooo|||||ooooooo|oo
oooo||ooo||oooo||o||||||o|o|oo|oo|oo||o|o|o|ooo||||||o||oo|||||oo||oo|o|oooo
|oo||||oo|o|oo|o||||oo|o|ooo||||oo|o|o|||o||o|oo||oo||||o|||oo|oo|oo|ooooooo
oo|ooooo|ooo||||o||ooooo|o|o||oo||||||oo|oo|o|o|oooo||o|||o||||oo|o|o||o||o|
0003774ワット発電中さん
垢版 |
2019/08/30(金) 05:11:45.67ID:fvp2Ldua
>>1
ベアメタルという言葉すら知らない爺が若者相手にマウントする板やししゃーない
0005774ワット発電中さん
垢版 |
2019/09/01(日) 06:26:51.74ID:yjMypLei
FPGAみたいに後から内部の回路を変えられるならそれでもいいね
そんなめんどいことするくらいならRTOS使っとけと思うけど
0007774ワット発電中さん
垢版 |
2019/09/01(日) 20:42:19.11ID:A0k4xFU6
複数タイマー処理を気にするならRTOS使えばいいのにと思うが、世間一般の電化製品は兎も角、この板も電子工作本もCやアセンブラでゴリゴリ書くのが大好きなおじいが多いからな
組み込みもコンピューターの歴史に逆らっていつまでも8pin DIP品みたいな環境を強いる風潮なのも良くない
0008774ワット発電中さん
垢版 |
2019/09/05(木) 01:04:01.90ID:396XgBFo
ソフトはIT奴隷に…
だからハードは徹底的にコストダウン…
0009774ワット発電中さん
垢版 |
2019/09/07(土) 11:24:15.90ID:x4twqTjr
フリーの組み込みOSってあとはnuttXあたり?
0012774ワット発電中さん
垢版 |
2019/09/07(土) 19:22:14.73ID:XNQZcOpJ
freeRTOSはいろんなMCUにポーティングされてるからね
うちではOS使うときはほとんどがfreeRTOSだわ
0013774ワット発電中さん
垢版 |
2019/09/08(日) 04:58:27.09ID:x8ORD0Io
いつまでも8pin DIP品みたいな環境を強いる風潮なんてものはないし
そもそもDIPはブレットで初心者にも使いやすくそれなりに需要があるから使っているだけ。
規模が小さければOSなどほんと必要ない世界だが。
だからすべてRTOSが必要ではない。なんでもfreeRTOSが必須と考える奴が間違ってる。

それに今だと組み込みでも高機能OSはWindowsやLinuxを選択でき、こちらのほうが
サポートされるドライバもはるかに多くPython等のスクリプトも動くから、必要と
される機能はほとんどはRaspberryPiみたいなもので済む。
非リアルタイムの個人用、小規模生産用では他の選択支はありえない。

freeRTOSなどは特殊な製品用だけだろう。
0014774ワット発電中さん
垢版 |
2019/09/08(日) 07:12:01.82ID:6VkFMYcf
RAM 64KBくらいのマイコンならRTOSあった方がいい
なんでいきなりLinuxみたいなMbyteオーダーのOS利用の話になるんや
RXやSTM32は無視かい
0015774ワット発電中さん
垢版 |
2019/09/08(日) 14:14:25.98ID:fsxWT3VZ
エンジン制御みたいなやつだと、WindowsとかLinuxなんて使いづらくてしょうがない。
GUIいらんし、通信も主役じゃないし、重たい数値計算もほとんどない。
裸のIOやタイマーや条件分岐が素直に書ければいいわけだから、RTOSがちょうどいいよね。
0016774ワット発電中さん
垢版 |
2019/09/09(月) 10:58:08.00ID:sVwwFuRb
freeRTOS
Toppers
nuttX
意外にどんなのがあるの?
0021774ワット発電中さん
垢版 |
2019/09/10(火) 14:09:23.98ID:xiPJRfaK
その辺のOSってジサカーが自分で使えるの?
0024774ワット発電中さん
垢版 |
2019/09/10(火) 18:26:45.83ID:EF1DOFxJ
STMcubeMX使うとマウスをクリックするだけでfreeRTOSが使えるようになる
ちゃんと動かせるようにするには試行錯誤が必要だけど
0025774ワット発電中さん
垢版 |
2019/09/12(木) 02:46:36.31ID:cZP6x8iq
CubeMX_with_FreeRTOS_training_JPN_rev1.pdf
にきっちりFreeRTOSの動かし方が書いてる。試行錯誤なんか必要なし
0029774ワット発電中さん
垢版 |
2019/09/12(木) 09:02:57.82ID:WU2G5lmA
>>25
Lチカさせるだけのチュートリアルじゃん
まさかhello world出力したら天下取った気になっちゃう人?
0030774ワット発電中さん
垢版 |
2019/09/12(木) 22:41:22.06ID:Co/IDkOo
RXに対応するフリーのRTOSが少なくて
0031774ワット発電中さん
垢版 |
2019/09/13(金) 11:49:45.47ID:cAr1STWv
ルネサス「一般人風情にうちの石は触らせん」
0033774ワット発電中さん
垢版 |
2019/09/20(金) 21:25:54.50ID:DezrywZx
>>29
お前馬鹿じゃないのか?
つまり、CubeMXを使って、FreeRTOSを動かすための設定以外に何を期待してるんだアホ
RTOSのイロハやFreeRTOSそのものがSTMのマニュアルにでも書かれてると思ってんのか馬鹿たれ
0035774ワット発電中さん
垢版 |
2019/09/21(土) 10:50:32.45ID:CZ4G2qEn
>>34
CubeMX_with_FreeRTOS_training_JPN_rev1.pdf
を読んでもFreeRTOSの設定もできない馬鹿は死ね無能

ほんとアホの極みだなwwww
0036774ワット発電中さん
垢版 |
2019/09/21(土) 10:53:04.54ID:CZ4G2qEn
>>29
>Lチカさせるだけのチュートリアルじゃん

RTOSってのは
タスク優先順位をもとにしたタスクディスパッチ、
排他制御さえ実装できれば
ほぼ目的を達成してること自体理解してない知障

アホは死ねwwww
0037774ワット発電中さん
垢版 |
2019/09/21(土) 11:31:25.85ID:rH990PO7
実際やってみると、教科書通りには行かない
エアプにはそれが分からない
0038774ワット発電中さん
垢版 |
2019/09/21(土) 22:47:08.70ID:CZ4G2qEn
はぁ?
CubMXを使ったコードをFreeRTOSをコンパイルするまでの手順を書いた教科書なのに
動かせないのは馬鹿か知障だ。
お前みたいなアホでもないかぎり確実に動かせる。

馬鹿は死ねwww
0040774ワット発電中さん
垢版 |
2019/09/26(木) 17:39:48.25ID:V4h/YGkA
OSを使いこなす人達のスレは内容が高度すぎてついていけないわ
0041774ワット発電中さん
垢版 |
2019/12/03(火) 18:06:48.57ID:FBYbChL6
TRONSHOW行くの?
0042774ワット発電中さん
垢版 |
2020/07/05(日) 21:44:20.46ID:kWIS0Y8X
RTOSの開発環境を整えるのに、どこみてもCmakeがどーとか、Ninjaどーとかさっぱりです
Mplabみたいにマイコンメーカーが提供する開発環境しか使ったことが無いんでもうなにがなんだか
今一時的にアマゾンのチュートリアル通りに開発環境が構築できても今後は周辺の状況が
変わるとまたできなくなりそうで怖いです

「開発環境を作るスキル」ってどうやって身につけたらいいんでしょうか?
0044774ワット発電中さん
垢版 |
2020/07/05(日) 22:34:12.45ID:kWIS0Y8X
>>43
AWSにデータを挙げるのに、FreeRTOS使いたいっていう前提を書いてませんでした
こういうのサラサラっと開発環境作れる人ってどういう勉強してきたんだろう・・・、どういう勉強続けているんだろう
0047774ワット発電中さん
垢版 |
2020/07/08(水) 19:35:18.85ID:Nxvnq0Or
>>46
makeマクロが読めるに越したことはないけど、読めても開発環境を作るのには
あまり役に立たないかな

CmakeもNinjaもmakeと同じようなビルド用マクロツールで、それぞれ独自の
構文で記述されたマクロにしたがって目的のオブジェクトを作るツールという
だけなので、どのツールを使うか決めてツールの使い方を覚えるしかないので

GUIで提供されるIDEみたいな統合ツールとか、メーカーが提供する解凍一発で
使用可能なツールセットが用意されていない場合には、解説サイトに載っている
ツール一つ一つをトライ&エラーで勉強していくしかないと思うけど

そしてサラサラっと環境を作っている人の大半は、チュートリアル通りにやって
できたーってやっているので、環境が変わったりトラブルが起こると感嘆には
対応できないのが普通なんじゃないかな

昨今の開発環境は、意識高い系の人が作った僕の考えた最強ツールを
次々と入れ替えるのがトレンドなので、あまり個々のツールにこだわっても
すぐに別のものに置き換わってしまうから、手順どおりに組み上げて自分に
必要な部分の知識を拡充するみたいにしないと付いていけないと思う
0048774ワット発電中さん
垢版 |
2020/07/10(金) 22:07:04.99ID:V1echLkU
>>47
ありがとうございます

現状、AWSのesp32用のチュートリアル通りにやっても全然できない状況で
遠回りが近道と考えチュートリアルにでてくるCMake、Ninja、MSYS、 これらを
1から勉強して、その後もう一度トライしようと思っていましたが、考え直します。

Windowsでのビルド環境の構築は行き詰ったので、Linux環境でビルドしている人の
真似を真似を一通りやってみてできればそれでよしということにします。
できなかったらできなかったとき、テクニカルサポートにお金を出すか検討して
みます。

はぁ、しかしツールの使い方覚えるだけで時間が過ぎ去って覚えた頃には次の
ツールが出来上がってそう・・・新陳代謝が早すぎてついていけない
0051774ワット発電中さん
垢版 |
2020/07/11(土) 20:12:13.26ID:VtRviJwC
>>50
まじかよ・・・・・

ここは勇気ある撤退だな
仮に環境作れたところで、その先も超難関だ
サポートに金を払ったところで解決するとは思えない

流しのエンジニアの俺が面倒見てやってもいいが、ちと高くつくぜ
0053774ワット発電中さん
垢版 |
2020/07/11(土) 21:49:57.97ID:VtRviJwC
>>52
デモのアプリが動いたから次は自作のアプリを動かしてみようとすると、そこからが難しい
0054774ワット発電中さん
垢版 |
2020/07/12(日) 06:41:09.89ID:hihQDOyP
>>53
主にAWS間ですか?
S3にデータ投げたり、MQTTで通信したりとか。

それともLチカレベルが難しいですか?
0057774ワット発電中さん
垢版 |
2021/05/18(火) 06:30:15.27ID:+Onu+UVd
Interface誌4月号でFreeRTOSが特集されて、記事で紹介されてたSTMicroの
ボードを買って試してみた。
GUIでタスクなど設定できるので、そこは便利で簡単に使えるが、看板のネット機能
を実装するのは容易でないことが判った。
0059774ワット発電中さん
垢版 |
2021/07/02(金) 13:13:20.38ID:m9BlYLbt
対話処理も無いGUIも無い組み込みOSは何に使ったらよいかイメージが掴みづらいので、今一つブレイクしない
0060774ワット発電中さん
垢版 |
2021/07/02(金) 14:28:14.24ID:ZMySkvJ+
そこそこ機能のある家電なんかには
組込OSは入ってると思うが。
そもそもOSなんてユーザーに見えなくてもいい。
0061774ワット発電中さん
垢版 |
2021/07/03(土) 08:03:52.76ID:oqDeu2wG
>>60
それで合ってる

・・・「TRON系OSは2000年代以降も、主に炊飯器・洗濯機・カメラ・ゲーム機などと言った日本メーカーの家電製品に搭載されたマイコンを制御するための組み込み用OSとして、広く使われている。」 —Wikipedia

IEEEに著作権の移管・標準化されてるし、皆、知らない間に使ってるんだね
0062774ワット発電中さん
垢版 |
2021/07/03(土) 11:37:34.73ID:7qjJ5hT+
組み込みOSっていうとやっぱり感覚的にはリアルタイムOS(RTOS)なのかなぁ?
Linuxはリアルタイムクロック(RTC)やWatchDocもサポートしてるのでRTOSと
しても動作するよね
それともああいうのはRTOS言わない?w
0063774ワット発電中さん
垢版 |
2021/07/03(土) 16:27:34.93ID:rOwbhpne
Unix系OSで厳密なスケジューリングは無理
それ以前にUnix系OSは組み込みには重すぎる
0066774ワット発電中さん
垢版 |
2021/07/06(火) 21:19:30.87ID:ejtqG0QR
>>61
>皆、知らない間に使ってるんだね
この板に来る奴(趣味の電子工作おっさん)は使ったことがない奴が圧倒的多数だろうが
俺が社畜しているちんけな会社ですら昔からマイコンにTRON系OSを使っている。
いまや、ちんけな会社でもCortex-A搭載のSoMやFPGAを使う組み込みLinuxやっている状況だし
ターゲット組み込みだとCortex-A+Cortex-M搭載のSoC普通に出ているし
0068774ワット発電中さん
垢版 |
2021/07/07(水) 05:33:40.02ID:OkOc2S8F
>>66
> >皆、知らない間に使ってるんだね
> 昔からマイコンにTRON系OSを使っている。
昔は使っていたが、今 iTronは見掛けなくなった印象だけどなぁ。

印象だが(俺はハード屋)Armが当たり前となり、ソフト屋はメーカーサポートしているOS採用し、わざわざiTronを買ってくる事はせず、無論移植もしないし野良OSも使わない。
そんな俺様マインドシェアなのに未だにトップ↓とか、どこで使っているんだろう???

組み込みOSのAPIはTRON系OSがシェア60%、24年連続トップ
https://monoist.atmarkit.co.jp/mn/articles/2005/01/news072.html
0069774ワット発電中さん
垢版 |
2021/07/07(水) 05:44:33.29ID:OkOc2S8F
なんだ実シェアではなく
「パシフィコ横浜で開催された「Embedded Technology(組み込み総合技術展)2019」において、会場と特設Webサイトで実施したアンケート結果を集計」
なアンケート結果かぁ〜。

展示会に行く暇人(=現場エンジニアは行くヒマが無い)のアンケートなら、かなり偏りそうな気がするけどどうよ?
0071774ワット発電中さん
垢版 |
2021/07/07(水) 09:48:50.06ID:PzkpKeT7
>>68
ARMのRTOSって何使ってんの?
Linuxはリアルタイム性に難ありだし、VxWorksとかになるのかな。
まさかのMbed?
0072774ワット発電中さん
垢版 |
2021/07/07(水) 09:52:17.65ID:aIa43qCA
普通は半導体ベンダーのOSじゃないかな
世界標準はFreeRTOSでiTRONなんて国内だけじゃないかな
0073!ninja
垢版 |
2021/07/07(水) 09:53:34.40ID:pHxJChqT
CMSIS RTOSなら
FreeRTOS(byあまぞん)がメインになるんじゃやないかな!
0074774ワット発電中さん
垢版 |
2021/07/07(水) 12:15:48.50ID:zp2F9CHR
>>71
>>73氏も言ってるけど今はFreeRTOSが多いんじゃないの。
Mbed OSはRTOSだっけ? 初期はそうじゃなかったけど、今はRTOSに進化したのかな?
0077774ワット発電中さん
垢版 |
2021/07/09(金) 17:17:21.71ID:ZlaGx1YF
MicroC/OS-II がSilicon Labsに買われてオープンソースになった後放置されてるようだが使ったことある人いる? NIOS(アルテラ)使いたいんだが。
0078774ワット発電中さん
垢版 |
2021/07/27(火) 04:59:00.92ID:EuTWnMzm
Azure RTOSは、「Azure RTOS ThreadX」の他、ファイルアロケーションテーブル(FAT)と互換性のあるファイルシステム「Azure RTOS FileX」や、組み込みグラフィカルユーザーインタフェース(GUI)アプリケーションデザイン環境「Azure RTOS GUIX」、Windowsベースの分析ツール「Azure RTOS TraceX」および、産業用グレードのIPv4とIPv6のデュアルネットワークスタック「Azure RTOS NetX Duo」が用意されているという。
0080774ワット発電中さん
垢版 |
2021/07/27(火) 13:38:18.90ID:EuTWnMzm
>>79
100億はまさかのスゲーっと思ったけど、Armチップは累計1800億個とか。
これにはスマホも含まれると思うが、その中でシェア5.6%は多い?少ない?
0081774ワット発電中さん
垢版 |
2021/07/27(火) 14:04:03.82ID:3D3KGowU
Javaの30億とかしょぼいな。
いつまでたっても増えないし。
0086774ワット発電中さん
垢版 |
2021/07/29(木) 11:40:26.91ID:1kmFiKkV
FreeRTOSはメモリリークなんか絶対起きない、というのは本当ですか?

自慢気に語られました。
0088774ワット発電中さん
垢版 |
2021/09/03(金) 18:41:51.36ID:KM6gPExk
FreeRTOSのApplication Protocolsの中で関数ポインタが構造体のtypedefの内部で
使い倒されており、APIが理解し難く使い難くてたまらん。
0089774ワット発電中さん
垢版 |
2021/09/04(土) 08:51:26.09ID:KHs03n7G
FreeRTOS使って見ても、ラズパイLINUXと比べて優位点があるのか
いまひとつ確証が得られない。
0090774ワット発電中さん
垢版 |
2021/09/04(土) 11:22:12.47ID:lAkIDFRX
ラズパイ & Linuxを使えるアプリで、FreeRTOSを使うものと比較する意味がどれぐらいあるんだろう。
0091774ワット発電中さん
垢版 |
2021/09/04(土) 12:15:41.71ID:9aEO/XHO
Unix環境を余計とするか優位とするかでちがってくる
RTカーネルにしたら性能差はあるけど実際には困らないとは思う
0093774ワット発電中さん
垢版 |
2021/09/04(土) 16:16:39.49ID:3k/WBqfY
その通りだな、議論のレベルが違う
原付と乗用車比べるようなものだ
0094774ワット発電中さん
垢版 |
2021/09/04(土) 22:21:46.77ID:7TBoqKL+
FreeRTOSは有名だけど、それよりもAzure RTOSやNuttxがいいと思うんだよね!
カンだけど
0095774ワット発電中さん
垢版 |
2021/09/05(日) 06:02:50.02ID:cNkVgkSW
>>91
その通りで実際にはLINUX(ラズパイ)で困らないように思えてしまう。
RTOSの基礎的なタスク処理のしくみはともかく、FreeRTOSの売りはApplication
Protocolsで、HTTPSやMQTTまで無償だ。
メーカー製の有償RTOSですら暗号通信までサポートしているものはほとんどない。
けど現行のFreeRTOSは情報が少なく、自分が選んだMPUで自分が構築した
プロジェクトにHTTPSを組み込むのは一苦労で、その苦労が報われるかという話。
LINUXなら楽勝なのに。
0096774ワット発電中さん
垢版 |
2021/09/05(日) 09:13:07.73ID:nb7ib3F8
>>95
それならRTOSを選択するのが間違いでは?
RTOSはリアルタイム性確保が主目的で、通信系はそれを邪魔する
0097774ワット発電中さん
垢版 |
2021/09/05(日) 09:55:33.73ID:H09Ao42F
>>95
ラズパイ & Linuxを使えるアプリで、ラズパイ & Linux で困らないのは当たり前。
それとも、ラズパイ & Linuxを使えるアプリで、それ以外を使うケースとの比較なんだろうか。

とはいえ、ラズパイ & Linux以外を使うことを求められるのは、
処理能力的にラズパイ & Linuxを使えるとしてもそのほかの条件で、
結果として、実はそれがラズパイ & Linuxを使えないアプリだからでは。
0099774ワット発電中さん
垢版 |
2021/09/05(日) 10:30:27.11ID:cNkVgkSW
>>96
なんで?
ネット通信はDMA転送だから、通信タスクの優先順位は低くて何も問題ないよ。
0102774ワット発電中さん
垢版 |
2021/09/05(日) 12:59:17.11ID:GzrbXWqs
小規模環境、省リソース、少コスト
リアルタイム処理
起動時間
信頼性

この辺が特徴
世の中の多くの製品で使われている

この辺が不要ならRTOSを考える必要はない
0103774ワット発電中さん
垢版 |
2021/09/05(日) 13:31:35.87ID:GzrbXWqs
>>95
通信が100ms遅れても良い
起動に1分かかっても良い
電力を1W使っても良い
信頼性はそれほど重要じゃない
簡単にTCP/IP通信したい

なら素直にWindowsやLinuxを使ってください
0104774ワット発電中さん
垢版 |
2021/09/05(日) 14:08:54.13ID:nb7ib3F8
>>99
なんで?
リアルタイム処理優先している間にバッファオーバーフローしても通信出来るとでも?
0105774ワット発電中さん
垢版 |
2021/09/05(日) 14:18:52.07ID:nb7ib3F8
>>103
まぁ、実際にはそんな大ナタにしなくてもWIZnet社のIC:W5500でも載せれば問題解決なんだけどね。
0106774ワット発電中さん
垢版 |
2021/09/05(日) 14:19:33.95ID:ur4Nd0wn
少なくともTCP/IP 通信ならパケット損失しても大きな問題にはならない。
0107774ワット発電中さん
垢版 |
2021/09/05(日) 14:32:55.01ID:GzrbXWqs
100us以内に応答して結果を出力
こういうオーダーなのがリアルタイム処理

CPUを長時間(100msオーダー)占有するような処理は
(RTOS的には)リアルタイム処理ではない

優先度の高い処理でCPUが長時間占有するなら
それはCPUの選択や要件が間違ってる
0108774ワット発電中さん
垢版 |
2021/09/05(日) 14:38:22.62ID:H09Ao42F
それぞれの処理を延々とやっているように見えて、占有させてないわけだし。
0109774ワット発電中さん
垢版 |
2021/09/05(日) 16:58:42.67ID:g3fRPxjP
Linux動かすならそこそこのターゲットかなとおもうけど
そこで応答性の保証が仮に数桁ちがったとして困らんという話
別に汎用PC上で稼働させるわけじゃなし
0111774ワット発電中さん
垢版 |
2021/09/05(日) 18:42:27.48ID:nm6wM6BX
まぁ 長い事、教科書はオブジェクト単位をタスクとして扱ってきたからな。 100msディスパッチが応答速度と勘違いするやからが一杯。
タスクはオブジェクトのイベントポーリングを包含するだけのものと変化してきた最近はまともなRTOS設計が増えてきた。
オブジェクトの中にタスクがある。
これも、クリーン・アーキテクチャー、SOLID原則が言われ始めたおかげなのかもしれない。
0113774ワット発電中さん
垢版 |
2021/09/06(月) 07:00:33.47ID:4EEN8Gxv
携帯端末の定義なんかも20世紀からさんざん変わっており、通信機能が必須に
なったのも最近のことだ。
AmazonはRTOSにに暗号通信機能が必須と言っている。
0114774ワット発電中さん
垢版 |
2021/09/06(月) 19:26:50.55ID:2gjVDDi3
そりゃAWS使わせるためにFreeRTOS買ったんだから
そう言うだろうよ
0115774ワット発電中さん
垢版 |
2022/01/24(月) 20:54:45.81ID:i0ZnMALX
まだあんまり調べられてないけど FreeRTOS

RL78 FreeRTOSの利用手順(割り込み)
https://qiita.com/shirokumaneko/items/e4b05cd06a257ee85eed

上記の記事見ると、割込みからカーネルに戻らずにreti (RL78の割込みからのリターン命令)
で終わってる。 つまり ITRONで言うところの「遅延ディスパッチ」ってやんないんやね。

その辺のところは、
Chapter 4 割り込み管理(Interrupt Management) (FreeRTOS チュートリアル日本語訳)
https://qiita.com/azuki_bar/items/7f31eb80e8b6b2eff17f
に書いてあるけど、次のtimetickまでタスクスイッチは待たされるみたい。

あと
遅延ディスパッチについては、以下のTRONのサイトで解説がある
https://www.tron.org/ja/page-722/rtos10/
0117774ワット発電中さん
垢版 |
2022/01/24(月) 21:57:28.50ID:i0ZnMALX
>>116
vPortYieldFromISR() でいくらカーネルオブジェクトを変更しても、
retiで元のタスクに一旦戻るから、次にカーネルに来るまでタスクは切り替わらない。
0118115
垢版 |
2022/01/25(火) 07:28:30.97ID:/xDxqh8Z
今インターフェース2021年4月号みてるが、p49 図4解りやすく書いてるね。
設計思想として、どうなんだろうって思うね。
特に小さい遅いマイコンの場合はtime tickを長くして負荷を減らすようにするのが定石だけどね。
実際、5MHhzのマイコンの場合は
10msをtimetickにしてたし、
そうなるとタスク起動は、10ms待たされることになる。
それなら、割り込み使ってタスク起動なんて遅いだけだと思うね
0119774ワット発電中さん
垢版 |
2022/01/25(火) 20:28:38.01ID:mC7u77Xn
>>117
個人のブログじゃなくて公式の資料読んだ方がいい
YieldFromISRはコンテキストスイッチを起こす
0123115
垢版 |
2022/01/29(土) 12:41:35.94ID:hfceT+wV
全面的に俺の間違い、勘違いでした。すまなかった。
実際ソースを見た。 raspberry-piの個人が実装したソースなんだが
ちゃんとFreeRTOSが入っていて、その割り込みから戻るときに
ちゃんと、ullPortYieldRequiredを見て切り替えてる
Exit_IRQ_No_Context_Switch に飛べばタスク切り替えずに割り込みされたもとに
もどり、分岐しなければスケジューラに行くという流れになってる。

https://github.com/eggman/FreeRTOS-raspi3/blob/master/FreeRTOS/Source/portable/GCC/ARM_CA53_64_RaspberryPi3/portASM.S
LINE;281
/* Is a context switch required? */
LDR X0, ullPortYieldRequiredConst
LDR X1, [X0]
CMP X1, #0
B.EQ Exit_IRQ_No_Context_Switch

単純に言い訳すれば、
qiitaのRL78のサイトの記載がよろしくないんだろうと思う。

実際ソース見て、どや顔するつもりが逆になったという話でした。
0124774ワット発電中さん
垢版 |
2022/01/29(土) 19:16:28.45ID:DpeQuK04
だから個人ブログじゃなくて公式見ろと
自分で挙げた >121 を読んでも理解できないようでは仕方ないけど
0126774ワット発電中さん
垢版 |
2023/10/17(火) 08:27:43.23ID:7dnnrmQi
バカなっ・・・あいつ赤信号なのに・・・・・轢かれたぞっ!!
0127774ワット発電中さん
垢版 |
2024/02/07(水) 14:14:55.34ID:XDEE0bP5
RTOSについて検索しても「FreeRTOSでTCP/IP」みたいな記事ばかり出てくる
・RTOSっていっぱいあるけど何がどう違うの?
・○○みたいなのを作りたいのだけどどのRTOSが適しているの?
みたいな疑問は全く解消されない
0128774ワット発電中さん
垢版 |
2024/02/07(水) 18:09:17.96ID:K89Njg+d
RTOSはDOSやUnix系OSに慣れた人には最初取っ付き難い
昔ベアメタル環境のプログラミングしてたら感覚的に理解出来るだろうが
0129774ワット発電中さん
垢版 |
2024/02/07(水) 18:22:11.61ID:BM1DrTGR
RTOS本来の恩恵で考えれば、どれ使っても同じだとおもう。
ペリフェラルをコントロールするライブラリが充実してるとか簡単に見つかるとか、書籍やWEBが多くて調べやすいとか
重要なのはそのあたり。そういう差じゃないだろうか?
ディスパッチさえ書ければだいたいの制御は事足りると個人的に思う
0130127
垢版 |
2024/02/07(水) 23:28:29.80ID:XDEE0bP5
レスサンクス。どちらかと言えばベアメタルでゴリゴリ書く方だけどRTOSの説明を読んでもピンとこない

・よくある解説だとタスクA/タスクB/タスクCみたいな例が示されるけど3個くらいならハードウェア割り込みベースのタスク管理と大差あるとは思えない
 もっと大規模なシステムなら恩恵があるのかもしれないがそのような解説は見つからない
・リアルタイム制御と説明されるがどのくらい時間精度を実現できるのかという情報はあまり見かけない
 極端だがソフトウェアUART(usオーダー)やソフトウェアUSB(nsオーダー)といったタスクをマルチタスク動作させられるのか?
 あとデバイスドライバは高速応答が発生しがち
・RTOSを利用したシステムを実装するうえでRTOS下にない処理(便宜上タスクと呼ぶ)の取り扱い
 すべてのタスクをRTOS下に置けないというケースは現実的にあると思われる。例えば割り込み後最速でDMAを起動する必要があるなど
 最近のマイコンはCPUを介さずにあれこれ出来たりするけどそのような機能の扱い方。またそのような動作は大なり小なりRTOSの動作を乱す
・移植性が高いと説明されることがあるが各RTOSでどう違うのか
 一部のCPUがもつ高速にコンテキストスイッチを実行する機能を利用できるような改造をしやすいかなど
0131774ワット発電中さん
垢版 |
2024/02/08(木) 01:15:00.18ID:nF+IFror
余談かもしれないが
リアルタイムOSのリアルタイムの定義はその仕様書のオーダーによるんだ。
仕様書に一分以内に完了することと書かれていたらほぼどんな書き方でもマイコンでもリアルタイム制御を実現できるし、その条件を満たせばリアルタイム。
逆にレーザー距離計を作るとして光の波長を捉えようとしてもリアルタイムで光波をカウントできるマイコンやFPGA、OSはこの世に無い。
車のブレーキであればmsecで制御を返せばよくて、人間の反射はもっと遅いからリアルタイム制御と言える。
どんな案件でどこまでをリアルタイムと定義するかによる。

タスクはいいよ
仮にLED100個の点滅をmsec単位でユーザーが起動後それぞれ自由に変更できるシステムを構築するとしたらどう?
マルチタスク無いと相当大変な工夫が必要じゃない?
たとえタスクなしでそのシステムが完成しても、顧客から仕様変更でUARTをはさみたいと言ってきたらイチから見直さないといけなくなる地獄

タスクいらないという人もいるのも事実なのでこれ以上は言わないけど。
0132774ワット発電中さん
垢版 |
2024/02/08(木) 01:56:50.89ID:nF+IFror
DMAはCPUから独立して働くとおもうので、CPU上のRTOSを乱すとしても影響は小さい?、詳しい人が以下にあほバカ言いながらレスするだろう。
注意しないといけないのがDMA先のメモリ参照とCPUの参照先がデッドロックを起こすかもしれないのでミューテックス・セマフォを使わないとだめだと思う。

移植性はなんとも
0133127
垢版 |
2024/02/10(土) 13:17:27.45ID:ztyh9MAD
>LED100個の点滅をmsec単位でユーザーが起動後それぞれ自由に変更できるシステムを構築するとしたらどう?
100個のLEDを完全独立制御するのは特殊ケースだろう。一般的にはダイナミック駆動で点灯することになると思われる
となると割り込みによる入力&処理タスクとタイマ&DMAによる波形生成タスクの2分割かな
後者はCPUに依存しないからCPUの仕事は前者のみ。これにUARTによる通信機能を追加しても割り込みで十分対応できるはず

というかもっと実践的な例示をしてほしい
例えばハイエンドマイコンに液晶パネル、オーディオアンプ、スピーカー、SDRAM、フラッシュメモリを外付けして動画を再生すると仮定する
外付けのフラッシュメモリやSDRAMは遅いからメモリは2〜3層の階層構造をもち、必要に応じて先読みやバッファする
ソフトウェアが行うべき主な仕事は
・フラッシュメモリ読み出し
・読み出しバッファ制御
・ファイルシステム制御
・スプリッタ
・ビデオデコード
・オーディオデコード
・ビデオレンダリング
・オーディオレンダリング
・ビデオ/オーディオ同期制御
・フレームバッファ制御
・オーディオバッファ制御
・液晶パネル制御
・オーディオ出力
・UI入力
あたりかな?リアルタイム制御はmsオーダーだしRTOSを応用するシステムとしては緩めか
でこれらの仕事をどのようにタスクに分割してどのようなタスクの実行条件を設定し効率的に動作させるか?って問題
ITRON系の本を読んでもこのような実践的な解説は出てこないし、FreeRTOSの解説サイトを見ても同様
0135774ワット発電中さん
垢版 |
2024/03/04(月) 19:38:06.57ID:mCOdB31W
RTOSちょー便利ー
予想してたけどめちゃコーディング楽ちんでちょっとだけ感動した。
0136774ワット発電中さん
垢版 |
2024/04/04(木) 16:33:00.41ID:Sp2ZALS4
最悪応答時間がOS+MCUの組ごとに規定されてほしい。 が、実際はそうなっていない。

STM32F0xx+FreeRTOSの場合、最悪応答時間をクロックやタスク数等の関数として知りたい。

「応答時間が保証できないRTOSは無価値」というベアメタル原理主義の人に反論するにはその武器が必要なのです。
0137774ワット発電中さん
垢版 |
2024/04/04(木) 21:25:08.14ID:MbGNbO7u
>>136
サービスコールによってクリティカルセクションの長さが違うから、それを求めるのは難しいんでしょうね。
正しくRTOSを使うシステムを作って実測し、その実測値に遅くなりうる要因・時間を上乗せするのが現実的ではないでしょうか。
非最高優先度のタスクは悩ましいけれど、RTOSが持つ機能でどうにかできるはずです。

マイコンとRTOSの性能よりも、それらを正しく使うことの方が重要だと思います。
使うのはヒトですから、以下のような間違いや経験不足はついて回ります。
 優先度を間違えた、ミューテックスを使うべきところにバイナリセマフォを使った、
 同期IOした、割り込みハンドラの処理が長い、安易に排他している、DMACがあるのに使っていない
0138774ワット発電中さん
垢版 |
2024/04/23(火) 22:17:21.98ID:LngQU12C
rtos思ったより難しいなぁ
擬似マルチタスクなんだね.
レスを投稿する


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