質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
RTOS

RTOS(リアルタイムOS)は、リアルタイムシステムのためのOSです。実時間システムや実時間OSとも呼ばれ、時間的な制限のある処理を行うための機能・特性を備えています。組み込みシステムの制御に多く用いられています。

C

C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

マイコン

マイクロコンピュータの略で、CPUにマイクロプロセッサを用いたコンピュータのこと。家電製品、電磁機器などの制御に用いられています。単体でコンピュータとしての機能を一通り備えています。 現代のパーソナルコンピュータに近く、同時期のメインフレームやミニコンピュータと比べ、小さいことが特徴です。

Q&A

解決済

3回答

1986閲覧

組み込み系の学習環境

checkJ

総合スコア31

RTOS

RTOS(リアルタイムOS)は、リアルタイムシステムのためのOSです。実時間システムや実時間OSとも呼ばれ、時間的な制限のある処理を行うための機能・特性を備えています。組み込みシステムの制御に多く用いられています。

C

C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

マイコン

マイクロコンピュータの略で、CPUにマイクロプロセッサを用いたコンピュータのこと。家電製品、電磁機器などの制御に用いられています。単体でコンピュータとしての機能を一通り備えています。 現代のパーソナルコンピュータに近く、同時期のメインフレームやミニコンピュータと比べ、小さいことが特徴です。

0グッド

0クリップ

投稿2021/05/29 10:29

編集2021/06/02 13:54

#概要
組み込み開発の学習ツール(マイコン)について
(曖昧な質問で、答えが1つではない内容になります。ご容赦ください。)

#詳細
大学を卒業後、今の会社へ入社して5年目、
画像処理ソフト開発から一転して、ファームウェア開発として働くことになりました。

自己学習のためのマイコン購入を検討しているのですが、
以下の条件を満たすものでおススメを教えて頂けないでしょうか…?

  • C/C++ で開発できる。

職場ではC言語を使うらしいので…

  • RTOSについて学べる。

オープン(無償)のRTOSで学べると嬉しいです。

  • RS232CでPC側との通信ができる。

通信関連はほとんど触ったことがないので、色々と試してみたい

#おまけ
上記マイコン以外にも、組み込み学習のアドバイスなども貰えると嬉しいです。

ソフトはともかく、ハード関連については学習のスタート地点すら見つけられず困っています。
ちなみに、私自身の組み込み系の経験は、学生実験でFPGAを触った程度です。

こんな質問内容で申し訳ないですが、よろしくお願いします!

#クローズ(2021/6/2)
皆様、たくさんの回答・コメントありがとうございます!
知らない単語も多く、やはり圧倒的知識不足を感じました…
(ほとんど触れたことない分野なので、当然ではありますが…)

もう少し勉強・経験を積み、具体的な質問が出てきた際には、
改めてアドバイスいただきたいと思います。

色々な情報が聞けて面白いと思う反面、
いつまでも解決済みにしないのも気が引けるので、
一旦解決済みとさせていただきます。
ありがとうございました。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

ベストアンサー

職場ではC言語を使うらしいので…

CとC++は時々違うので注意。まぁ、お勉強ならどっちでもいいかもしれませんが、自分がどっちを使っているかは意識すべきでしょう。

オープン(無償)のRTOSで学べると嬉しいです。

今どきFreeRTOSとかが普通に使える環境は多いです。ラウンドロビンで使ってちゃダメですよ。

RS232CでPC側との通信ができる。

本当にRS232Cなんですか? 今どき232はPC側も積んでないので、メリット無いと思います。
無視して、ただし仮想COMポート等USBから遊べるものと考えます。

Arduino (UNO)はプロ(の卵)が遊ぶにはちょっとかなぁ。まぁ、最初のとっかかり程度ならまぁいいかもしれません。AVRとして骨までしゃぶるならそれはそれでありです。

ESP32は流行り(というかもう定着したというほうが適切か)だし、Arduino環境でもデフォルトFreeRTOSだしWiFiとかあってソケット通信とかもできるしいいんじゃないでしょうか。

あとはARM系も潰しが効くし、いいんじゃないですか。mbedとかArduino IDEとかRapid prototype環境もベタな開発環境もいろいろあるし。STM32の評価ボードNucleoは種類豊富でピンがいっぱい立ってます。ちょっと目先を変えてSpresenseのCortexM4Fの6コアをNuttxで頑張ってみるなんてのも...

ハード系のスキル磨きはたしかに問題ですね...ネットを眺めると大ウソ書いたブログとかが平然とまかり通っています。ソフトよりもS/Nというか玉/石率が低い気がします。ちょっといい手を思いつかないけど、ハードのわからん組み込み屋なんて一緒に仕事したくないしなぁ。

投稿2021/05/29 14:07

thkana

総合スコア7639

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

checkJ

2021/06/02 13:52

回答いただきありがとうございます! メインはC言語になりそうなので、まずは1本に絞ってみます。 RTOSやマイコンについてもアドバイスもありがとうございます。 ちなみに、本当にRS232Cケーブルを使用しておりました… 知らない単語が多く、うまく飲み込めていない自分がいますが、 これから精進していこうと思います!
guest

0

組込みと言っても幅広いです。まず、規模としてはどの辺でしょうか?

ワンチップマイコンを使った OSも無し、メモリも内蔵 2Kbyteとか、、(今やってる)
あるいは、Linux辺りを使って、RAMもGbyte単位であるとか、、、?
そんなので違ってきます。

仕事での助けにしたいという事でしたら、まず、どんなCPUを使って、OSは何かを勉強されたら、と思います。

C/C++ で開発できる。

普通に Windows/Linux環境で学べます。

RTOSについて学べる。

こっちは分かりませんが、概要なら、Windows/LinuxあたりでもOK
OSによって癖も違うので深入りする場合はターゲットを明確に。
(OSの深いところを触るのでなければ、そこそこの知識でも使える)

RS232CでPC側との通信ができる。

一概に、RS232Cと言っても、簡単で奥が深い。単純に 3線しか使わない場合と、他の制御線まで使う場合があって目的の環境次第、、。

と"自己学習のためのマイコン"無しでもなんかやってます。

投稿2021/05/29 10:51

pepperleaf

総合スコア6383

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

keicha_hrs

2021/05/29 12:16

UARTによる調歩同期式シリアル通信をひっくるめてRS232Cと総称してしまう「悪習」も、基礎のうちにきっちり理解して切り分けるべきでしょうね。私の知る現場でも、CMOSレベルのUART通信をRS232Cと呼んでしまうのはよくあることだけど、理解して敢えて呼ぶのと無理解なのは大違いですから。
pepperleaf

2021/05/29 12:25

そういえば、今は、RS232Cで無かった。 EAI-232Eだったか? (うろ覚え) 232Cという事が多いですが、現実は接続を見て判断。
thkana

2021/05/29 14:08

EIA232E、だったかと。
checkJ

2021/06/02 13:52

回答・コメントありがとうございます! CPUそのものへの理解も不足していると思うので、 実物を触る前にもっと知識面を強化していこうと思います。
guest

0

とりあえず最初は、Arduino程度のかんたんなものがとっかかりにはいいです。

で、真剣に組み込み系を学習するつもりなら、100MHz2現象程度のシンクロスコープ(オシロスコープ)は用意しておきましょう。
信号を確認できる環境を用意しとかないとシロートの域からは抜けれません.

投稿2021/05/29 10:42

編集2021/05/29 10:43
y_waiwai

総合スコア87774

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

pepperleaf

2021/05/29 11:57

> 真剣に組み込み系を学習するつもりなら、100MHz2現象程度の と言われると、自分はまだシロートか? テスタさえも昔のが壊れて、無し。 もっとも今の現場は、そんなの少数派っぽいですが。 どこまでやるかですね。
PingHermit

2021/05/29 12:50

昔やってた時は、 真面目に見だすと、ストレージでそれくらいは必要でしたけど。 いまはやらない? まあ、動作不良起こしたときはって時ですが。
PingHermit

2021/05/29 12:52

まあ、当然自前じゃやらないですが(^^;
thkana

2021/05/29 13:41

オシロと言えばシンクロが当然になってしまったのでシンクロは死語になり、 デジタル化されてしまったので、ストレージオシロも今や死語です。 いまどきは中華オシロが安いですからねぇ...昔ほどの気合は要りません。
PingHermit

2021/05/29 21:41

今そんな安いんですか。 かおっかな。
thkana

2021/05/29 21:51

テスタよりは高いけどw でも、Flukeあたりのテスタよりは「USBオシロ」の方が安いか。
thkana

2021/05/29 22:08

USBで思い出した。USB接続のロジアナ、安いけどいざというときあれば便利。 https://www.switch-science.com/catalog/5194/ とか。アマゾンで同様の中華品がその半額ぐらい。 マイコンのソフト側しかいじらないひとはこれでも十分な場合が多いかも。
checkJ

2021/06/02 13:52

回答・コメントありがとうございます! 追々はテスタ・オシロ等も揃えて行きたいとは思っています。 安い商品紹介までありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問