スレ立てるまでもない質問はここで 160匹目

■ このスレッドは過去ログ倉庫に格納されています
2022/05/10(火) 14:24:35.29ID:+9FnNLoT
この板はプログラムを作る人のための板です。
あらゆる質問はまず
スレ立てるまでもない質問はここで
スレにしてください。

次スレは>>980が立てること

【前スレ】
スレ立てるまでもない質問はここで 159匹目
https://mevius.5ch.net/test/read.cgi/tech/1644673480/
2022/07/18(月) 16:11:52.15ID:f70Fl4T+
>>403
オープンソースには分かるやつしか参加しないから、ソースコードを別の言葉で書き直したような設計書ならいらないんだよね。
企業は人員の 9割が無能だから、そいつらのための仕事として設計書作成作業を設けてるだけ。
んで 9割の連中がその設計書を見ながら作った動かないコードは、残りの 1割の連中が設計書など見ずに動くように書き直す。
だから設計書と製品が解離する。
2022/07/18(月) 17:54:35.48ID:lfKiyV0F
>>404
オープンソースに分厚い設計資料がないのだったら、本質的に企業の仕事においても不要でしょうね、偉い人にはどうしてそんなことがわからないのでしょうか?
2022/07/18(月) 18:01:12.19ID:LUyjnnnP
製作者がいなくなったとき、

オープンソースは引き継げる能力のあるやつが引き継ぐ、いなければいつか消えるのみ
会社は他に能力のあるやつがいなくても、誰かに引き継がせなきゃいけない。放置は許されない
2022/07/18(月) 18:20:16.09ID:Vps5Lgrt
>>396
せやな。Linuxぐらいの設計書は必要
2022/07/18(月) 19:30:18.00ID:iK5pz8lh
>>406
製作者がいなくなる状況を生成した、それが会社側の失敗なのでは?
ドキュメントなんて所詮、参考でしかなく、結局はコードを読むしかない、偉い人にはそれがわからないのでは?
2022/07/18(月) 20:03:26.47ID:SlCZ8nzK
書類なんざ所詮管理手段の一つ。結果が伴わなければ意味ない
書類の作成を目的化するような会社じゃビジネスは上手くいかないだろうね
2022/07/19(火) 00:29:30.95ID:KHPjwZjx
ダメなプロジェクトや仕事は設計ドキュメントが先にある

良いプロジェクトや仕事は様々なレベルでそれぞれ試しに作っては壊したり比較したりやり直したり
システムアーキテクチャレベルで固まってきてもデータ構造やらAPI相当やらはリファクタリングでどんどん良いものへ変化
そして最後に設計ドキュメントに相当するものをきちんと作る
2022/07/19(火) 02:32:32.91ID:u93zEaXd
エクセルのデータを読み込んで加工して手元のmysqlに書き込むプログラムがあるのですが
プログラムで書き込むのと sql fileに書き出してコマンドで実行する方式のどっちがいいでしょうか?
2022/07/19(火) 11:20:13.57ID:6ZFnu09m
>>411
どういう観点で比較したいの?
2022/07/21(木) 14:52:16.30ID:qntGDUHT
C,C++の勉強してListの構造を学んで疑問に思ったのですが
Javaなどでメモリ飛び飛びで作られたListが存在するときにGCが発生したら完全整列するのでしょうか?それとも要素毎に空いたメモリに再配置されるのでしょうか?
前者なら遅くなるなぁ?と、後者で動いてる?
まぁわかったところでGCなのでやりようがないかもですが、考え方だけでも知っておきたいです
2022/07/21(木) 14:59:01.82ID:cxEc0/aI
>>413
後者
GC言語に限らずリンクリストは非常に非効率なデータ構造であり、動的配列よりもリンクリストの方が適している状況は極めて稀である
Cで実装しやすいから教科書に出てくるだけ
2022/07/21(木) 15:10:02.66ID:qntGDUHT
>>414
ありがとうございます
やはり後者ですか
List使った処理を追加したら遅くなりまして
もう一度コードの見直ししてみます
416デフォルトの名無しさん
垢版 |
2022/07/22(金) 21:00:16.41ID:coO/VVNr
アセンブラスレがなかったのでこちらのスレで失礼します。
学校でH8/300Hのマイコン学習をしています。
どうしてもわからないことがあり質問させてただきます。

HEW 生成ファイル補足説明(H8S、H8/300)
https://www.renesas.com/us/ja/document/man/735601
の3ページ目、リセット関数に関してです。

.SECTION PResetPRG,CODE,LOCATE=H'0400
_PowerON_Reset:
SLEEP
.SECTION $VECT0,DATA,LOCATE=H'0000
.DATA.L _PowerON_Reset
.END

上記のコードは実行してもただSLEEPするだけ、ということは理解できています。

コードの読み方を調べているうちに、
上記コードで定義されているPResetPRGのH'0400と、$VECT0のH'0000は、
ディフォで生成される設定に合わせているということは理解できたのですが、
じゃあ、なんでわざわざ宣言するんでしょうか?
ネットや書籍で調べまくっているのですが、掘り下げた説明に出会えず、
これがピンとこないせいか、授業の内容もいまいちピンときません。
まだLEDをピカらせるといった初歩的なことをしているだけですが、
リセット関数はどのコードにも冒頭部分に記述されています。
しかし初期設定部分ということもあってかコピペで済ましており、
学校の人も誰もこの記述の具体的な説明を含む読み方ができません。

どなたか日本語訳的な感じで読み替えてもらえないでしょうか?
よろしくおねがしいます。
2022/07/22(金) 21:56:20.98ID:5RjVUBfu
アセンブラというかハードの知識が足りてないんじゃね?
ベクタテーブルで調べてごらん。
2022/07/22(金) 21:57:59.77ID:JKfbNlr+
h8なんて知らん素人だけどさ
このCPUはリセットされると0番地の内容をプログラムカウンタに設定して
そこから実行を開始するっぽい
で、今回はH'0000番地にVECT0という名前をつけて
内容はH'0400
H'0400番地にPResetPRGという名前をつけて
内容はSLEEP命令
この名前とかアドレスはその開発環境のデフォルトなんでしょ
2022/07/22(金) 22:31:54.54ID:QLPuwyNz
>>416
>じゃあ、なんでわざわざ宣言するんでしょうか?
この回答は「PResetPRGのアドレスは変更可能だから」かな
420416
垢版 |
2022/07/22(金) 23:10:59.57ID:coO/VVNr
>>417->>419
ありがとうございます。書き込み後も調べ続けておりました。

>>417
一応イメージは掴んでいるつもりですが、改めて勉強してみます。
リセット時や割り込み時の処理の仕方だと認識しています。
自分はたぶんsection宣言の読み方や使い方がわかっていない気がします。

>>418
ありがとうございます。レス読んで思い出しました。
このリセット関数については、最初は先生に質問したのですが、
「0000の中に0400が入っているんだよ」と言われ、その時はわかった気になったのですが、
帰宅後に調べ直したらまたわからなくなり、今回の質問に至ったという経緯でした。

わかる
・このCPUはリセットされると0番地から実行を開始する
・名前とかアドレスはデフォルトのやつをそのまま使っている
・H'0000番地にVECT0という名前をつけている。
・H'0400番地にPResetPRGという名前をつけている。

わからない1
・H'0000番地の中にH'0400が入っているについて、その入れる処理は、どこがそうなっているんですか?
私の理解では「番地に名前をつけて、コードかデータの種類を指定しただけど、入れる処理はしていない」です。

わからない2
・.DATA.L _PowerON_Reset はプログラムを「_PowerON_Reset」からスタートする動作だと
教わりましたが、この記述でなんでそうなるかがわからないです。

>>419
ありがとうございます。そういうもんですか・・・そこは飲み込みます。
2022/07/22(金) 23:24:37.68ID:bpOnuI9e
CODE Section は、0400 から、
DATA Section は、0000 からとか、

どこのアドレスを使うか、決めるのは自由だろ?
2022/07/22(金) 23:37:14.09ID:bpOnuI9e
0000 などは、16進数か?

0000〜00ff: 0〜255
0100〜01ff: 256〜511
0200〜02ff: 512〜768
0300〜03ff: 768〜1023
0400〜04ff: 1024〜1279

つまり、0400 は1024のアドレスから始まる
2022/07/22(金) 23:38:03.71ID:JKfbNlr+
_PowerON_Resetっていうラベルは
SLEEP命令の位置のH'0400を指すんだよ
それで.DATA.Lという疑似命令で
現在位置H'0000にH'0400を出力する
2022/07/22(金) 23:51:00.22ID:JKfbNlr+
というかマニュアルを読めよ全部書いてあるぞ
たぶんこの2つだろ↓
H8/300H シリーズ プログラミングマニュアル
H8S, H8/300 シリーズ クロスアセンブラ ユーザーズマニュアル
425デフォルトの名無しさん
垢版 |
2022/07/23(土) 00:11:15.01ID:mkhmVAM0
>>424
今回の質問の前に思いつく限りの検索ワードで調べました。
以下の媒体は特に参考になったと思えたページの一部です。
流石に書籍やpdfを全ページ読んだとは言いませんが、
SECTION、PResetPRG、CODE、LOCATE=H'0400、_PowerON_Reset:、$VECT0、DATA
など、コード内にあった主要な記号は全て検索し、
ヒットした箇所の前後の記述を熟読し、それでも理解できなかったので質問しました。
今は >>423 さんのレスにあった疑似命令について調べているる途中です。

プログラムはHTML/CSSしかやったことがなく、そっちの感覚が全く使えないので苦慮しております。


[プログラム](http://www.t-net.ne.jp/~kuu-sky/page090.html)
[01_01.EPS](https://nagasm.org/ASL/manual/soft.pdf)
[HEW 生成ファイル補足説明(H8S、H8/300)](https://www.renesas.com/us/ja/document/man/735601)
[H8プログラミングメモ](https://bluefish.orz.hm/sdoc/h8_prog.html)
[たのしくできるH8マイコン制御実験 - 横田一弘 - Google ブックス](https://books.google.co.jp/books?id=hNPVNj4wuOIC&printsec=frontcover&hl=ja#v=onepage&q&f=false)
(https://books.google.co.jp/books?id=9dd1xBNFRpAC&printsec=frontcover&hl=ja#v=onepage&q&f=false)
[ppkitinside2004.pdf](http://www.robot-triathlon.org/kit/ppkitinside2004.pdf)
[H8S H8/300シリーズ クロスアセンブラ ユーザーズマニュアル](https://www.renesas.com/us/ja/support/document-search?keywords=j702038_h8s)
[H8/36064グループハードウェアマニュアル](https://www.renesas.com/jp/ja/document/mah/h836064-group-hardware-manual?language=ja&r=1052281)
[プログラミング(前編) | Renesas](https://www.renesas.com/jp/ja/support/engineer-school/mcu-programming-peripherals-05)
[H8/300H シリーズ プログラミングマニュアル](https://www.renesas.com/jp/ja/document/man/870711)
[猫ですが。: H8マイコン-その1](http://konohanaya.blogspot.com/2010/10/h.html)
426419
垢版 |
2022/07/23(土) 00:43:15.10ID:6LmREh/f
>>420
開発時にメモリ上にどのようにデータを配置するかの指定は今は一般的にリンカの仕事
パソコンのプログラムはもちろん、マイコンでも今はリンカに対して配置するアドレスを
指定するのが一般的
ルネサスの場合、現行のRXマイコンやRAマイコンなどもアドレスはリンカに指示する

しかしレガシーな開発環境だとアセンブラコード内にアドレスを直打ち出来たりして
>>416の例はそのケースだと思う。今時の開発環境でこのパターンはレアと
思われるので理解を深める必要はないかも

H8の開発環境はないのでRXマイコン(CS+)の例だけど
RXマイコンのリセットベクタのアドレスは0xFFFFFFFCからの4バイト
リセットが解除されるとこのアドレスの値がPCへロードされる(=書かれているアドレスから実行が始まる)
ttps://uploader.purinka.work/src/20992.png
右のメモリダンプを見ると0xFFFFFFFCの値は0000C0FF。リトルエンディアンなので並べ替えると
0xFFC00000となりこのアドレスから実行が開始される
左の逆アセンブルリストで0xFFC00000を見るとPowerON_Reset_PC関数がある
PowerON_Reset_PC関数のソースコードを見ると
ttps://uploader.purinka.work/src/20994.png
#pragma sectionでResetPRGセクションへ配置するよう指示されている(91行目~)
Pはセクション種別で2文字目以降がセクション名
そしてリンカの設定を見ると
ttps://uploader.purinka.work/src/20993.png
ResetPRGセクションは0xFFC00000が指定されていて上記アドレスと一致する
427419
垢版 |
2022/07/23(土) 00:44:12.83ID:6LmREh/f
>・このCPUはリセットされると0番地から実行を開始する
正確にはこれは間違っている。正しくは0番地に書いてあるアドレスから実行が開始される
リセットベクタというかベクタテーブルには大きく分けて2パターンあって
・該当するアドレスに書いてある命令を実行する
・該当するアドレスにアドレスから実行する
通常はこのどちらか。H8は後者。前者は古い物に多くて、新しめのはほとんど後者

>・H'0000番地の中にH'0400が入っているについて、その入れる処理は、どこがそうなっているんですか?
>.SECTION $VECT0,DATA,LOCATE=H'0000
>.DATA.L _PowerON_Reset ←PowerON_Resetのアドレスが配置される実データ
この部分が該当箇所。最終的なデータを出力しているのはアセンブラ
上にも書いたけどこのような書き方は今の主流ではない

何となくだけど開発ツールの扱いもまだ不慣れなのかな。自分も使いこなせているとは言い難いけど
428デフォルトの名無しさん
垢版 |
2022/07/23(土) 01:38:12.90ID:mkhmVAM0
>>>423
調べてきました!
DATA命令を使ってメモリ上にアドレスを確保できるってことですね。
どうやら自分はその使い方を、検索時に見落としていたようです。
ようやく0000の中に0400が入る流れがイメージできました。
レスの内容を頼りに調べたところ、下記書籍にDATA命令を用いて
アドレスシンボルの番地をメモリに確保する旨の解説がありました。

たのしくできるH8マイコン制御実験
https://books.google.co.jp/books?id=hNPVNj4wuOIC&printsec=frontcover&hl=ja#v=onepage&q&f=false

>>426-427
419さん画像付きでの解説ありがとうございます!今の自分は「リンカとは?」ってレベルなのですが、
少なくともその「ResetPRGセクションは0xFFC00000が指定されていて上記アドレスと一致する」までの解説は、
画像を見ながら最後まで追いかけることができました。
来週また学校へ行った時に、HEWのツールで同じように追いかけてみます!
「0番地に書いてあるアドレスから実行が開始される」のご指摘も含めて、今後も学んでいきます。
2022/07/23(土) 11:02:36.52ID:a/eG1EZ0
うむ。なかなか見所のある若者じゃ、精進なされよ
430419
垢版 |
2022/07/23(土) 11:39:15.16ID:n897GEgW
ぶっちゃけ「今更H8かよ」感はある
確かに古い故にシンプルだろうし学校の教材の都合なんだろうけど
H8マイコンのほとんど(全部?)は新規開発非推奨になっているはず
マイコンの勉強にはなっても実践的ではない

>>428
本気でマイコン開発を勉強したいなら32bitマイコンのボードを購入して弄ってみる方が
良いかもしれない・・・と思ったけど今やルネサスの評価・試作ボードは値上がっている上に
販路も限られるようだ。国内から買えるところだとTarget Board for RXもRA Fast Prototyping Boardも
chip1stopかmouserくらいしかなくて値段も4~5千円くらいはするっぽい

自分のパソコンを持っているならだけど、HEW後続のCS+の評価版は無料で利用できるから
ダウンロード(確か要登録)&インストールして同梱されているRXシミュレータを動かしてみるとか?
RXのシミュレータはお世辞にも出来が良いとは言えないけど>>426程度の確認は出来るし
ルネサスがRXをH8の後続に据えていることもあってH8→RX移行マニュアル的なドキュメントも揃っている
もちろんH8のノウハウそのままとは行かないけど雰囲気を掴むくらいは出来るのでは

あとリンカに関してだけどそもそもリンカを含む低レイヤーの解説資料は少ないと思う
自分が知る範囲だとこの本を紹介しておく
リンカ・ローダ実践開発テクニック
ttps://shop.cqpub.co.jp/hanbai/books/38/38071.html
FreeBSD&gcc環境で解説されていてマイコンに特化した説明ではないので適宜読み替える必要があるけど
2022/07/23(土) 11:46:55.13ID:PpxI5rKd
アセンブラでリンカの話とか最初からしてもなぁwとは思う
432デフォルトの名無しさん
垢版 |
2022/07/23(土) 12:01:32.61ID:bR39w9BX
H8のベクタってその番地にjmpを描くんじゃないの
2022/07/23(土) 12:08:49.71ID:ESnt81dA
H8/3069Fみついわボードはよく出来てたなあ
H8のアーキテクチャは普通のPCのCPUと同じノイマン型だからアセンブラの学習には良いと思う
当時はWebでの情報も比較的多かったが
今はどうかな
434419
垢版 |
2022/07/23(土) 12:28:51.76ID:n897GEgW
>>431
現在の学習レベルだと、とりあえず「そう言うもんだ」で済ましてかまわないとは思うけど
本人は納得できていないみたいだし、いつかは理解しなきゃいけない部分だし良いんでないの
割り込みコントローラ回りを弄るようになったらデバッグのために嫌でも覚えるようだろうし
435416
垢版 |
2022/07/23(土) 14:22:31.02ID:mkhmVAM0
>>430
学校というのは実は職業訓練でして。
今はH8/TinyマイコンとHEW環境を教材にして学んでいますが、
この後の授業は半年かけて、C言語、ラズパイ、Java、スマホのアプリ制作と進んでいく流れです。
H8が時代を感じるものであることは承知しており、プログラムや組込みの基礎を学びつつ、
「わからない状況に陥った時の対応力」を鍛えるつもりで向き合っています。
今回は、自分が勉強しなくちゃいけないところがよくわかりました。
メモリとCPUの関係と、プログラムカウンタの動き方をよく調べておきます。
あとDATA命令の使い方もおさらいします。
ソースコードはちゃんと、1行1行全部、根拠付きで説明できるようになりたいですね。

>HEW後続のCS+の評価版
環境は自宅でも導入しようと以前調べたのですが、自分のメイン機がMac(M1Air)でして、
HWEがMacで使えないと知り、ちょっと保留にしているところです。
Windows機は10年ほど前に買ったDELLのinsprion15Rが押し入れに眠っているので
Macでやるいい方法が見つからなかったから、お盆あたりにそいつを蘇生しようかな、と。

HEW後続のCS+の評価版の件と、リンカ・ローダ実践開発テクニックはブクマ入れました。
2022/07/23(土) 15:00:25.61ID:cRrcO95j
うむ
2022/07/23(土) 17:13:46.90ID:FGM1D/su
職業訓練校でH8でアセンブラなんて尖ってるなぁ。
アセンブラなんて基本情報処理向けにCASLでも勉強して
マイコンなんてCでいいと思うんだけどな。
2022/07/23(土) 18:33:10.27ID:qgluObjk
単にアセンブラと言ってもOSみたいのを作る場合と単にユーザープログラムを
書く場合では必要な知識が違うと思われ
2022/07/23(土) 19:08:26.97ID:PpxI5rKd
>>438
そうだね
今時組み込みですらlinuxとかOSを使うし一昔前でもitronとか使ってたし
直接リセットベクタやらを設定するようなプログラムは現実にはスーパーファミコンぐらいの
時代に戻らないと無かった気がするな
まぁ、コンピュータの知識としての課題でそういう基礎と言うか基本的な事を知っていて悪い事では無いけど
相当前から最低でもC/C++での開発だっただろうし部分的にインラインアセンブラを使う事はあっても
アセンブラでOS無しのプログラムを書くことはまずないからそんな知識は今となっては殆ど必要無くなってるよね
440デフォルトの名無しさん
垢版 |
2022/07/23(土) 21:02:27.65ID:FAO+OpS7
組み込みやったことないのか
2022/07/23(土) 21:44:52.49ID:ESnt81dA
おいくつなのか判らんけどそんな学校行くよりとっとと就職して経験積んだ方が良いよ
マイコンの授業なんて担当教員の趣味がだいぶ入り込んでて誰も反論できないような立場だからやるだけ無駄
1年だかを無駄に過ごすとになる
442デフォルトの名無しさん
垢版 |
2022/07/23(土) 21:52:30.23ID:FbAMoEc9
パチスロの開発に関わってる方や詳しい方にお聞きしたいのですが、リプレイフラグは8977か8978のどちらでしょうか?
65536/8977と65536/8978どちらもほぼ7.3なので分かりません。フリーズ65536/8のように割り切れればいいのですが

よろしくお願いします。
443419
垢版 |
2022/07/23(土) 22:15:43.77ID:n897GEgW
>>435
>この後の授業は半年かけて、C言語、ラズパイ、Java、スマホのアプリ制作と進んでいく流れです。
半年でそれらを習得できるとは思えないからさわりだけなのかな。内容から察するととIoT関係かな?

>メモリとCPUの関係と、プログラムカウンタの動き方をよく調べておきます。
この辺は>>425の“プログラミング(前編) | Renesas”とその後編が比較的平易に説明されていると思うけど
不足なんだろうか

>自分のメイン機がMac(M1Air)
iOS開発とかは別として組み込みに限らず開発系でMacはサポートが弱い事が多くかつトラブルの元に
なりがちだからWindows環境かLinux環境を用意した方が良いと思う

>>439
お仕着せのSDKやコードジェネレータのみで作れる程度の物なら低レイヤーの知識は不要かもね

>>441
判らんでも無いけど、今のご時世に仕事しながら勉強できる会社ってどのくらいあるんだ?
特に質問者が疑問に思っているような低レイヤーに詳しい人がいる会社なんて結構レアそう
開発系なんて日常業務に忙殺されて下手すりゃ体をこわしかねないイメージがあるが
2022/07/23(土) 22:42:24.60ID:NgLN2nLK
>>442
「10/73以上であること」が規則
なので8977/65536はダメ
2022/07/23(土) 23:07:39.46ID:NgLN2nLK
Javaでスマホアプリが目標なのだろう
「低レベルもやっといた方がいいよね」はわかるが、
OSなし組み込みが目標でないならH8アセンブラはやりすぎでは…とは思う
(教材の都合とかもあるだろうから余計なお世話だとも思う)
2022/07/24(日) 00:13:27.63ID:SLnKepmZ
教える側がH8に一番慣れてるぐらいの事情しかない
H8はarduinoでマイコンが注目されてた頃にuClinuxで一時期頭ひとつ抜けてたがラズパイ以降役目を終えた
2022/07/24(日) 03:06:45.70ID:J65kp3AQ
組み込みは時間の無駄。
仕事で、お金をもらいながら勉強するもの

例えば、YouTube で有名な、雑食系エンジニア・KENTA の初心者向けRuby on Railsサロンは月千円で、
日本6位の3千人が入っている。1位はキングコング西野の数万人

Rails, Linux などが主な勉強内容

コンピューターの基礎は、入門書を1冊を読むだけ。
マイコンなど、全くアプリ開発者に関係ないので、時間の無駄
448447
垢版 |
2022/07/24(日) 03:17:30.67ID:J65kp3AQ
関係ない授業を入れて、全体の価格を上げるため。
詐欺みたいなもの

1個1個を深く勉強していたら、数年掛かるし、切りがない。
マイコン・C 言語だけで、数年掛かる。
アプリ開発者には関係ないから、時間の無駄

KENTA も言ってる。
必要な所だけを勉強して、それ以外は本をサラッと読んで、先に進む。
だから、半年でポートフォリオを作って転職できる

他の香具師が5年掛かっても、何も作れないのは、学校の水増しカリキュラムのせい

大切なのは何かを勉強することではなくて、
勉強する方法を勉強すること!

これがKENTA。
だから半年で開発者になれる

これが分からない香具師は、10年やっても出来ない
2022/07/24(日) 03:40:32.32ID:EX/z9tJK
ダレだよケンタってチキンか?w
2022/07/24(日) 04:23:17.54ID:E5ZFw2qU
底辺派遣奴隷がKENTAのYoutubeみて知ったかぶりして、
自分があたかもKENTAになったかのように妄想する自慰の道具。
451デフォルトの名無しさん
垢版 |
2022/07/24(日) 09:32:03.94ID:hnBeY/7d
エンジニア不足解消にむけて、文科省、通産省がいま最も注目する新進気鋭の先導者では?
文科省がエンジニア育成にユーチューブを活用するワーキンググループを発足したのは、彼の影響と思われる。
2022/07/24(日) 10:55:48.87ID:QqIxIyeR
DBとネットワークもやった方がいいね
2022/07/24(日) 13:09:38.66ID:2lyIaqMH
ライブラリの作り方教えて
2022/07/24(日) 13:11:39.16ID:vEjRJRF/
何のや
455416
垢版 |
2022/07/24(日) 13:34:31.70ID:MO/A+cHc
>Iot系?
学校バレするとあれなので回答は控えます。ちなみに40代前半IT業界未経験です。

>この辺は>>425の“プログラミング(前編)〜説明されていると思うけど不足なんだろうか
今回の質問の前にも目を通していましたが、重視していませんでした。
ここで教わったあと読み返してようやく繋がった、という感じです。

私が質問前の自力タイム中に注目していたことが
SECTIONやPResetPRG、CODEといった、命令やラベル名、属性の使い方や役割でした。
それも、HTML/CSSやExcelでタグや関数の使い方を調べる時の感覚です。

メモリCPUプログラムカウンタといった部分は、
「今回の質問を調べる上では重視しなくてもいいところ」と思っていました。
でも、そのマイコンの仕組みの基礎の部分にちゃんと注目していれば、

1.HEWでビルドしたプログラムがセクションで定義した属性に従ってメモリに配置される
2.コードセクション(0400)にはSLEEPの部分で、データセクション(0000)にはDATA命令のやつか?
3.CPUはプログラムカウンタが示しているアドレスのメモリを見ている。最初は0000から読む。
4.0000に入っている内容はDATA命令のところ。つまり?

という順序的観点が検索時の前提になり、注目するところも変わったと今は考えています。
自分のつたない調べ方でも、>>428 の「たのしくできるH8マイコン制御実験」92pの
「DATA命令では,さらに,メモル上にアドレスを確保することができます」という記述にも辿り着けたと思います。
それが無理だったとしても、

DATA命令でアドレスの取得みたいなことをしているかも?
右に書いてある「PowerON_Reset」の番地を読んでいる?
などと、と推測することはできたでしょう。

ちなみにここで学ぶまでは「.DATA命令はメモリ領域を定義するもの」と認識していて、
右に書いてある「PowerON_Reset」との関係は謎でしたw
2022/07/24(日) 14:05:47.61ID:brewOpTp
>>453
つmake library
457419
垢版 |
2022/07/24(日) 17:28:16.60ID:t3OCaKrr
>>455
プログラムとデータやアドレスを分けて考えちゃっているのかな?
特にマイコンの場合はメモリ保護機能がないか、あっても限定的な機能しか持たないため
セクションの違いはメモリ配置場所(大抵の場合ROMかRAM)を決定する以上の意味を持たないことが多いです
つまり.DATA制御命令でマシンコードを配置してもその領域が実行可能であれば実行出来ますし
割り込みベクタテーブルにアドレスが配置されていれば割り込み発生時にはそのアドレスへジャンプします
あくまでハードウェアから見てそのデータ列がどのように見えるかがポイントで
与えたデータの管理はプログラマか処理系の仕事です

ちなみにCortex-MやRXの場合、ROMだけでなくRAMに配置されているマシンコードも
実行可能ですし(H8系でRAM上のマシンコードを実行可能かは確認できなかった)
割り込みベクタテーブルの一部をRAMに再配置することも出来ます
2022/07/24(日) 17:28:20.31ID:GMSYIMoG
アセンブラのラベルとかがわからないなら、一旦オブジェクトファイルを生成して
それをデバッガでディスアセンブルしたりするのは無し?
そしたら、あーこのアドレスにこれが来るんだーとか
2022/07/24(日) 17:35:32.41ID:vEjRJRF/
組み込みとか時代遅れのゴミは無視してWeb系に行こうぜ
日本のメーカーは糞でこれから落ちぶれていくだけだから関わらない方が良いよ
IoTとかArduinoだったらギリ許す
460419
垢版 |
2022/07/24(日) 18:18:08.33ID:t3OCaKrr
>>458
質問内容からしてビルド時のフローとかデバッグツールの使い方も判ってなさそうに見える
ただコンパイラ系の開発経験がない人が理解するのは難しいだろうとも思う
ググってもなかなかまとまった情報が出てこないところだし
2022/07/24(日) 19:14:36.61ID:SLnKepmZ
>>457
H8もノイマンだからセクションによる実行制限はないはずだよ
ただ今更この人がマイコン学習していくこと自体は不毛な気がするんだよね…
2022/07/24(日) 19:19:53.04ID:SLnKepmZ
>>455
>ちなみに40代前半IT業界未経験です。
それだと半年程度のお勉強ではどう転んでもIT系への就職は無理
職業訓練の経歴なんて全く評価されないよ
学校なんか行くよりはIT系の派遣に登録して派遣先で顔を覚えて貰いつつどういう業界なのか知っていった方が賢いぞ
2022/07/24(日) 19:24:05.79ID:fEm4m5y+
てか未経験40代がこんな低レイヤーの勉強するの遠回りすぎるだろ

ある程度現場で経験積んだエンジニアが娯楽でやるもんだよこういうのは
464416
垢版 |
2022/07/24(日) 19:26:23.27ID:MO/A+cHc
>>457 >>460
419さん気にかけてくれてありがとう。

>プログラムとデータやアドレスを分けて考えちゃっているのかな?
>特にマイコンの場合はメモリ保護機能がないか、〜そのアドレスへジャンプします
現時点では何もかも調べなければわからない状態なので、
自ずとそれぞれの意味や違いを几帳面すぎるかな〜とは思いつつも違いを意識しています。
何よりここの基礎が理解できない程度だと、この先もついていけないと直感しています。

>〜あくまでハードウェアから見てそのデータ列がどのように見えるかがポイントで
>与えたデータの管理はプログラマか処理系の仕事です
ここは今後の為に意識しておきますね! 線引き大事。

>ちなみにCortex-MやRXの場合〜割り込みベクタテーブルの一部をRAMに再配置することも出来ます
割り込みベクタテーブルはROM配置と習っていたので、へぇ〜という感じっです。
まぁ今の私にはそこから広がった想像をするだけのスキルがないんですが、頭の片隅に覚えておきます。

>質問内容からしてビルド時のフローとかデバッグツールの使い方も判ってなさそうに見える
ビルド時のフローは今回の質問あと復習しました。とは言っても、
教科書とか入門向けに書いてある、簡略化したフロー図をぼんやりイメージできる程度の理解です。
デバッグツールはまだ触ったことがないのでわからないです。

先ほど授業で最初になったら十数行程度のプログラムをやっと私なりに日本語化できました。
JSRとかMOVとかRTSとか、基本的な命令を使って無意味にループしてるだけの勉強用プログラムですが、
やっぱりぜんぶわかると気持ちいいですね。ようやく1歩目が終わった感じです。

ちなみにH8マイコンの授業は来週でおしまいw
そのあとまた別のプログラムを学びます。今後も頑張っていきます。
465デフォルトの名無しさん
垢版 |
2022/07/24(日) 19:29:06.80ID:pts8jowi
>>444
そういった規則があるのですね。
スッキリしました。
ありがとうございます。
466デフォルトの名無しさん
垢版 |
2022/07/24(日) 20:01:22.22ID:IZxLU3+7
「デフォルト」とは債務不履行のことだと思いますが
なぜム/マ業界では「デフォルト」を別の意味で使っているのですか?
2022/07/24(日) 20:26:17.55ID:wPXQkERB
default=怠ること
ユーザーが設定変更を怠った場合の値=初期値
468419
垢版 |
2022/07/24(日) 20:27:44.54ID:t3OCaKrr
流行のIoTなどの用途向けに今マイコンを勉強するならRA&FSPかSTM32&CubeMXあたりだろうか
Arduino使える人は結構いるけどそのレベルで製品化までこぎ着けるのは難しいし
別にRXやLPCなど他のマイコンでも良いけど覚えることはちょっと増えそう

>>461-462
H8は特に制限ないのか。一つ勉強になった
仮にIoT目的ならメーカー提供のSDKやコードジェネレータでほぼ足りるはずなので
必ずしも低レイヤーを勉強する必要はなさそうではある

就職の足しにならないであろうはその通りだと思うけど、Web系のみとかではもっと厳しそうな気が
2022/07/24(日) 21:42:19.01ID:QqIxIyeR
ネットワークとDBが足りてない
2022/07/24(日) 22:05:40.73ID:tpoO7THQ
40代未経験ならJavaとDBの勉強だけやってさっさと働け
未経験のおっさんが流行のIoT出来る選択肢なんてそもそも存在しない
2022/07/24(日) 22:29:08.85ID:3wgufn1T
>>467
default = 欠席裁判、ですよ
2022/07/24(日) 22:32:52.70ID:MshpqOuh
>>471
欠席=出席を怠ること、じゃね
473447
垢版 |
2022/07/24(日) 22:55:38.37ID:J65kp3AQ
KENTA の初心者向け・Ruby on Railsサロンに、年齢制限はあるのか?
出来るか出来ないか、ポートフォリオの実力だけじゃないの?

沖縄のかみざとよしとのやんばるコードとか、
人生逆転サロンの守護神・たけは、
中年で1年ぐらいのプログラミング初心者で、Rails のトップになった!

まあ元々、彼は大学院数学科の天才で、
数学講師から、Java の資格を取って、Railsへ転向した

バグ取り名人 たけ
【Rails】(送信時のリロード無し!)Action CableでSlack風チャットアプリを作成

YouTube の動画
474419
垢版 |
2022/07/24(日) 23:43:09.23ID:t3OCaKrr
マイコンアプリの開発だけで仕事になるとは思えないけど
ハードもそれなりに出来るならアドバンテージになるんじゃないかな
今でも両方出来る人は多くないしね
2022/07/24(日) 23:48:59.70ID:QqIxIyeR
マイコンとか教える側の雇用対策やろ
2022/07/25(月) 01:55:20.49ID:fy0hTX+n
ぜんぜん部外者なんで素朴な質問をしていいですか?
IoTということは、TCP/IPの機能がいるわけですよね? 割り込みベクタがとか
ゆってるけど、まさかTCP/IPのスタックも実装したりはしないですよね?
結局普通は最初からOS的なものが必要になりそうな気がするのですが
2022/07/25(月) 01:58:55.05ID:fy0hTX+n
ネットワークのドライバぐらいは実装する必要がある、なら割り込みとか知ってた方が
いいでしょうからまあ確かに
2022/07/25(月) 02:02:04.18ID:BZBhu3k0
有線LANの作例はいくらでもあるしWiFiやBTモジュールで通信させる方法もある
そしてSSL/TLSが欲しくなるまでがセット
2022/07/25(月) 04:19:42.61ID:fR7BwuK/
>>476
Linux使えばいいだろ?
それともOSなしでIoTしないといかんのか?
2022/07/25(月) 06:55:34.42ID:EqxRHHki
チップメーカー提供のなりFreeRTOSのなりAzureRTOSのなり使えば良い
TCP/IPどころかTLS/SSLまで用意されているよ
481デフォルトの名無しさん
垢版 |
2022/07/25(月) 11:21:33.20ID:dJJE5upa
適当に必要なツールだけ造って
面倒な部分は M5StickC にやらせると楽
2022/07/25(月) 12:58:59.87ID:+sFX7yRz
一口にIoT言っても
・Wi-Fi/BT回線かLTE回線か
・常時給電か否か
・LinuxかRTOSか
・ダウンタイム要求
でだいぶ難易度が違う
2022/07/25(月) 13:01:00.01ID:Ag7GGmTP
windowsもあるゾ!
2022/07/25(月) 17:44:12.29ID:vWw940/9
IoTに限った話じゃないけどWindowsを使う必然性ってあまりなくね?
2022/07/25(月) 17:51:54.32ID:mBcdUBse
普通に考えたら組み込みとかにWindows使う必要無いのだけど案外使われているという事は
大きな企業ほどフリーソフトで無料のものは避ける傾向があるということ
RDBでもオラクルを使うのはその辺もあるし、OSにしてもred hatとかは企業向けもあるけど
Windowsにしておけば何かあっても責任逃れ出来るという事だろうなぁ
2022/07/25(月) 17:52:34.96ID:fnQLcriz
組み込み系や制御系の開発PCはほとんどWindowsだよ
SDKやツールの対応がWindowsファーストだからな
2022/07/25(月) 18:00:04.51ID:AXHgFxoO
メーカーの老害にはmacは使いこなせないからだよ
2022/07/25(月) 18:37:43.52ID:nPMjx1b5
macは時代を30年ほど間違えてないか?って値段だろ
LinuxかFreeBSDでえーやん?
2022/07/25(月) 18:40:12.32ID:YKvWEWzT
下請け丸投げしかできないメーカーのゴミ社員はwindowsでエクセルしか使えないからだよ
2022/07/25(月) 18:50:14.35ID:XGvRm+qF
ハード屋さんが使ってたロジアナがWinXPで動いててビックリしたわ
491デフォルトの名無しさん
垢版 |
2022/07/25(月) 18:57:37.62ID:GOtCNvAE
macは高級感だけで金払う馬鹿を鴨にする戦略だから
2022/07/25(月) 19:02:31.32ID:2PhM5qDH
>>485
利益に繋がっているとは言いがたいのがポイントだなw
493デフォルトの名無しさん
垢版 |
2022/07/25(月) 21:11:33.38ID:GOtCNvAE
ケンタウィルスは絶滅汁
2022/07/25(月) 21:38:03.55ID:dV4kzGF1
>>486
EDAはWindows優勢だけどMCUやFPGAの開発ツールはLinux版も同時リリースされてない?
2022/07/25(月) 22:21:56.73ID:nPMjx1b5
RDBだとまぁOracleがトップ、次点がPostgreSQL, SQL Server、その下はMySQL
どういう訳かはしらないけどDB2は一回しか経験ない
フリーのPostgreSQLとかMySQLを使ってたのはバリ一部上場だし、もうあまり有料無料は関係なさそうかな
2022/07/25(月) 22:29:55.68ID:dV4kzGF1
そう言えばソニーセミコンのソフト開発系?はLinuxメインかもね
Spresenseの開発環境はLinuxファーストだったような
497デフォルトの名無しさん
垢版 |
2022/07/25(月) 22:32:31.07ID:oUQ2GGC1
・日立、週休3日で給与維持 生産性向上へ働き方改革 時間から成果へ転換
・日立、最低勤務時間を撤廃 「週休3日」も可能に
・2022年の新入社員、79.8%がテレワーク オフィスの必要性は?
・日立、富士通、NEC…「ジョブ型雇用」を大企業が続々導入する理由
・日立やNECが導入へ 「週休3日」は人材獲得の切り札
・リクルートグループ、週休「約3日」に。4月から年間休日を145日に増加へ
・カルビー/国内社員3900人を対象に副業解禁
・介護職の週休3日制をサポート 宮城県、難しい3連休も可能に
2022/07/25(月) 22:54:07.13ID:gTrk2zFk
AWS IoT で良い。
ただし、AWSの12資格には、IoTの資格がないけど

Windows をサーバーで使うことはない。
クライアント・操作側で使うだけ

今は、クラウドのすべてのシステムがDocker だから、
DockerはLinux だけの技術だから、Linuxを使わざるを得ない
2022/07/25(月) 23:05:15.21ID:dV4kzGF1
ちょっと前に発売された音ゲーがWindows環境よりProton環境の方が遅延が少なくて快適なんてオチがあった
2022/07/25(月) 23:24:47.38ID:N/8RfmxG
500
501デフォルトの名無しさん
垢版 |
2022/07/26(火) 00:42:45.75ID:7eeTS5R1
>>498
あわしろを召喚しちまうからLinuxの話題はやめとけ。
2022/07/26(火) 10:40:36.03ID:72WDY9Tv
みなさんは変数名はきっちり英単語にして付けてます? それとも日本語ローマ字的なものもOKでやってます?
2022/07/26(火) 11:00:10.77ID:b/a9cbVb
>>472
なるほどね、同意しましょう
■ このスレッドは過去ログ倉庫に格納されています