スレ立てるまでもない ..
[2ch|▼Menu]
365:デフォルトの名無しさん
22/07/15 11:39:33.98 YErsqPqr.net
gitでマージしてコンフリクトしなかったファイルとコンフリクトしたファイルがあって
これをコミットする際、コンフリクトせずマージされたコミットとコンフリクト解消したコミットのように2つに分けたいのですが
どうやればいいのでしょうか

366:デフォルトの名無しさん
22/07/15 12:11:03.83 lF4sBNwn.net
単純にマージする前にブランチ切っていれば戻れるし好きに出来るのでは?

367:デフォルトの名無しさん
22/07/15 12:12:45.10 YXwn0a1o.net
>>359
stageに上がった修正だけがcommitされるから、
コンフリクト解消前のstageをcommitした後に
コンフリクト解消してまたcommitすりゃいい

368:デフォルトの名無しさん
22/07/15 12:44:10.41 YErsqPqr.net
>>361
コンフリ解消前のをcommitするとコンフリ解決してないので
committing is not possible because you have unmerged files
とエラーが出てコミットできないんですが
コンフリしたファイルをそのままaddしてコミットしろってことでしょうか?

369:デフォルトの名無しさん
22/07/15 15:05:45.09 oyGbt8u5.net
>>362
merge状態から抜ければcommitできるので、そうしてもいいし
コンフリクトしたファイルだけを元に戻してもいい
でも、どちらにせよビルドできない状態をcommitすることになるだろうから
ちゃんとコンフリクトを解消してからcommitした方がいいと思うけどなぁ
まあ、最初のやりたいことからは外れちゃうけど

370:デフォルトの名無しさん
22/07/15 15:18:15.30 UMF7Eduu.net
>>357
これからは一つの言語で構成されるOSはなくなっていく

371:デフォルトの名無しさん
22/07/15 21:04:15.70 knkavBW6.net
>>341
>・まず手間も時間もムダ
ちょいちょいと 200 ステップくらいで簡単に実現できますよ、一晩で書けちゃいますよ
>・その作業も漏れなくミスなくすることを保証できない
>・実行しないと何も判明しない
何もしないよりはましでしょうね、簡単なラッパを置くだけでケアレスミスは弾けますね、やったことなければわからないでしょうが
>>342
末尾に解放忘れを列挙する関数を置けばいいだけですよ、リリース時には #ifdef で無効にするようなものでね
>>345
私は別に rust を否定しているわけではないですよ
指摘された問題点はちょいちょいとラッパを書くだけで割と簡単に弾けるのに、というだけですね
>>353
ヘッダ:URLリンク(ideone.com)
本体:URLリンク(ideone.com)
一晩で即席に作ったけれども結構今でも役に立っていますね‥‥

372:デフォルトの名無しさん
22/07/15 21:41:31.38 0WMM6JpG.net
リーク検出なんてVCは標準であるけど、他の環境にはないの?

373:デフォルトの名無しさん
22/07/15 21:52:23.36 YErsqPqr.net
>>363
コンフリしたファイルをHEADの内容で更新commitして
コンフリしたファイルを再度修正してそれをコンフリ解決としてコミットすれば
やりたいような感じのことができました
レスありがとうございました

374:365
22/07/16 06:41:19.01 c7EwU+jp.net
>>366
昔の bcc にもありました、ちょっとバグってたけれども
clang ベースの今の bcc にあるかどうかはちょっとわかりませんね

375:デフォルトの名無しさん
22/07/16 11:51:34.05 v3eAMl7Q.net
質問と言うかご意見をお聞かせください
daoパターンを調べていてトップに出てきたのがこれです
URLリンク(kanda-it-school-kensyu.com)
気になったのは
selectIsbnAll、selectTitleAll、selectPriceAllが、内部で使うSQL文以外は全く共通の構造になっているということです
例えば受け取ったSQLを実行して結果を返す関数xxxを別に作る、上の3関数ではSQL文を作ってxxxに渡して呼び出す
そういう構造にするのはダメなんでしょうか
それとも重複させたほうがいい理由が何かあるのでしょうか。よろしくお願いします

376:デフォルトの名無しさん
22/07/16 11:55:03.81 v3eAMl7Q.net
失礼しました。SQL文以外にも取得する列名も関数ごとに別ですね
まぁその場合でもxxxに列名を引数として追加すればいいのではと思いますが

377:デフォルトの名無しさん
22/07/16 12:32:31.14 730D9OZt.net
>>369
>そういう構造にするのはダメなんでしょうか
全く問題ないよ

378:デフォルトの名無しさん
22/07/16 12:37:49.48 730D9OZt.net
しいて言えば
他の開発者が重複させた状態でパターン認識してれば共通処理に切り出すと分かりにくくなるとか
すべてのDAOが依存する共通クラスができるのでその維持管理に少し手間がかかるとか
そういうデメリットはあるかもしれない

379:デフォルトの名無しさん
22/07/16 14:05:36.11 2WLM14wy.net
Java のJDBC って、何十年前の話なの?
Ruby on Rails では、Active Record というO/R マッパーで全自動。
こんなコーディングを見た事がない

380:デフォルトの名無しさん
22/07/16 15:47:30.46 aE5onCgd.net
markdow


381:nってなにが便利なの? 見る人にわざわざViewerをインストールしてもらわなきゃいけないの



382:蟻人間
22/07/16 16:12:32.42 8tacx+39.net
>>374
HTMLよりも文法が簡単で、わかりやすい。
テキストベースでGitと相性が良い。
markdownが書ければ本も出版できる。

383:デフォルトの名無しさん
22/07/16 17:00:15.16 aE5onCgd.net
本を出版できるかどうかは関係ないでしょ
書く内容があれば、markdownがかけなくても出版は出来るでしょうし。
整形されたものを見るためには、ブラウザ側の準備とかも必要ですし
○○をインストールすれば、綺麗に見えますよ
なんていってもそんなの面倒といわれるのがオチですよね

384:デフォルトの名無しさん
22/07/16 17:08:33.25 EqAVTetZ.net
ブラウザ等が必要なのはHTMLやTextileも同じ
それらに比べてプレーンテキストでの視認性は良い

385:デフォルトの名無しさん
22/07/16 20:25:35.05 v3eAMl7Q.net
gitと相性良いってのは本当にでかい
未だにword/excelをSVN管理してるところの多さよ

386:デフォルトの名無しさん
22/07/17 08:58:42.91 Pz/w1EQs.net
音楽を流すプログラムを公開する時、著作権の問題を回避するため、曲データそのものは省いた状態で公開したい。
でもデモというかサンプルとして、そのデータのシーケンスの様子を youtube で公開して、ようするにそれを見ればデータを再現できるわけだけど、
そういう公開の仕方で著作権の問題は出そう?
公開したいものの主体としてはシーケンサの方ではあるけど、その曲を入れたくて作ったという側面がある。
もちろん使う人がお好きなデータを入れられる。

387:デフォルトの名無しさん
22/07/17 18:48:28.79 soXI7jwH.net
仕事中に転職予定のプログラミングの勉強をしたいのだけど
いい方法はないかしら?
今の仕事中はときどきアイドル時間があってわりと勉強できそうだけど
周りにチームリーダーやまじめ君がいてPCをのぞきこまれてそれを見つかるのはまずい。

388:デフォルトの名無しさん
22/07/17 19:38:41.12 9SO4ZDqK.net
スマホPDFでみれば

389:デフォルトの名無しさん
22/07/17 19:51:05.43 soXI7jwH.net
>>381
それもなかなか難しいんですよ。
理想はPCで仕事してるふりしてPCの小領域に勉強のためのWebサイトを開くみたいな。

390:デフォルトの名無しさん
22/07/17 19:53:22.97 9V4W1mRI.net
PC介すと検閲に引っかかるとかないの?

391:デフォルトの名無しさん
22/07/17 20:52:28.23 zSvUsLU3.net
えー要約すると仕事中に仕事と全く関係なくて見つかるのもまずいことしようとしてるんだけどいい方法ありませんか

392:蟻人間
22/07/17 21:13:42.26 Il0xN2QW.net
通信URLが監視されてたら何してもばれる。
それでもやりたいならWin+D

393:蟻人間
22/07/17 21:21:33.73 Il0xN2QW.net
「ボスが来た」で検索すると、そういうツールが見つかるよ。

394:蟻人間
22/07/17 21:22:16.77 Il0xN2QW.net
通信内容も隠蔽したいならテザリングするといいよ。

395:蟻人間
22/07/17 21:26:39.21 Il0xN2QW.net
内部通告は社会の正義だからね。がんばってね。

396:蟻人間
22/07/17 21:41:58.23 Il0xN2QW.net
今ならメガネ型の端末やコンタクトレンズみたいな端末があるって。
それでネットサーフィンできるよ。

397:デフォルトの名無しさん
22/07/17 22:12:12.21 og+Kl2+D.net
などと自宅警備員が言っており

398:デフォルトの名無しさん
22/07/18 02:41:01.00 M8P73NZJ.net
その言語の研修に行かせてもらえば?

399:デフォルトの名無しさん
22/07/18 09:09:17.65 unHGOtJd.net
UMLとかどこ行っても潰しの効く技術を勉強しといたら?
特に最下流なゴミ案件だと設計ドキュメント無かったりするから、それを作ってますと言い訳

400:デフォルトの名無しさん
22/07/18 10:38:54.88 kCD1BPcn.net
OSSのライブラリって設計ドキュメントとかなかったりするよね
OSSの開発には参加できない低レベル人材ということだよね

401:デフォルトの名無しさん
22/07/18 12:40:49.12 VS4KQwYj.net
設計資料の無いプログラムなんて、何の価値も無いでしょ
個人が趣味やってるようなものなら話しは別だけど
会社で仕事としてやってるなら、ソースだけなんてありえない。
そこらに建ってるビルで設計図ないビルなんて無いだろ
犬小屋つくるのとはわけがちがう

402:デフォルトの名無しさん
22/07/18 12:47:50.22 QxUO6Zmj.net
設計図は保守のために必要なのであって開発のための設計図は不要

403:デフォルトの名無しさん
22/07/18 12:49:37.70 VS4KQwYj.net
会社に入れば分かるよ
学生さんがお遊びで書いてるようなおもちゃコードとはダンチレベチだから

404:デフォルトの名無しさん
22/07/18 13:25:28.89 LUyjnnnP.net
OSSはわかる人が参加するものであって
企業内の製品は誰でもわかるようにしなければいけない
設計あるなしは要否によっても決まるもの、という位置付けに変化した

405:デフォルトの名無しさん
22/07/18 13:28:37.05 T3NdTMmH.net
会社でコード書いてるのなんて高卒とか専卒のやつらだろ
大学でちゃんとコード書いてる学生さんの方が上だよ

406:デフォルトの名無しさん
22/07/18 13:34:29.85 VS4KQwYj.net
なぜか学歴の話しになってて草草草
頭の悪い人って物事を別の方向に捉えて勝手に結論付けるよね

407:デフォルトの名無しさん
22/07/18 14:19:10.39 unHGOtJd.net
N□□セキュアとかの仕事ですら、設計ドキュメント無かったぜ

408:デフォルトの名無しさん
22/07/18 14:39:42.97 kCD1BPcn.net
ビルは完全にウォーターフォールでしか開発できないからな
途中で改善点など見つけても後戻りできない
そこがソフトウェア開発と建築との違いで何度でも試行錯誤してブラッシュアップできるのがソフトウェアの良いところなのに
混同して考えているという時点でセンスないし向いてないから別の業界に転職した方が良いよ

409:デフォルトの名無しさん
22/07/18 15:03:52 RNtKt9aH.net
設計ドキュメントの作成・維持・読んで理解するのに要するコスト・時間と
設計ドキュメントなしにコードを読んで設計を理解するのに要するコスト・時間を状況に応じて比較して考えればいいよ

設計するやつとコード書くやつが分かれてたり
コードだけからだと設計を読み取るのに時間がかかったり
そもそもコードを読めない・読まない人が設計を理解する必要があったり
多くのソフトウェアやシステムは後者のコストが著しく高くなる環境のほうが一般的

設計するやつとコード書くやつが同じでユーザーもコードを読む前提のソフトウェアやシステムはどちらかといえば例外的

410:デフォルトの名無しさん
22/07/18 15:52:41 88C78euP.net
>>394
オープンソースのソフトウェアに分厚い設計資料はありますか?

411:デフォルトの名無しさん
22/07/18 16:11:52.15 f70Fl4T+.net
>>403
オープンソースには分かるやつしか参加しないから、ソースコードを別の言葉で書き直したような設計書ならいらないんだよね。
企業は人員の 9割が無能だから、そいつらのための仕事として設計書作成作業を設けてるだけ。
んで 9割の連中がその設計書を見ながら作った動かないコードは、残りの 1割の連中が設計書など見ずに動くように書き直す。
だから設計書と製品が解離する。

412:デフォルトの名無しさん
22/07/18 17:54:35.48 lfKiyV0F.net
>>404
オープンソースに分厚い設計資料がないのだったら、本質的に企業の仕事においても不要でしょうね、偉い人にはどうしてそんなことがわからないのでしょうか?

413:デフォルトの名無しさん
22/07/18 18:01:12.19 LUyjnnnP.net
製作者がいなくなったとき、
オープンソースは引き継げる能力のあるやつが引き継ぐ、いなければいつか消えるのみ
会社は他に能力のあるやつがいなくても、誰かに引き継がせなきゃいけない。放置は許されない

414:デフォルトの名無しさん
22/07/18 18:20:16.09 Vps5Lgrt.net
>>396 せやな。Linuxぐらいの設計書は必要



416:デフォルトの名無しさん
22/07/18 19:30:18.00 iK5pz8lh.net
>>406
製作者がいなくなる状況を生成した、それが会社側の失敗なのでは?
ドキュメントなんて所詮、参考でしかなく、結局はコードを読むしかない、偉い人にはそれがわからないのでは?

417:デフォルトの名無しさん
22/07/18 20:03:26.47 SlCZ8nzK.net
書類なんざ所詮管理手段の一つ。結果が伴わなければ意味ない
書類の作成を目的化するような会社じゃビジネスは上手くいかないだろうね

418:デフォルトの名無しさん
22/07/19 00:29:30.95 KHPjwZjx.net
ダメなプロジェクトや仕事は設計ドキュメントが先にある
良いプロジェクトや仕事は様々なレベルでそれぞれ試しに作っては壊したり比較したりやり直したり
システムアーキテクチャレベルで固まってきてもデータ構造やらAPI相当やらはリファクタリングでどんどん良いものへ変化
そして最後に設計ドキュメントに相当するものをきちんと作る

419:デフォルトの名無しさん
22/07/19 02:32:32.91 u93zEaXd.net
エクセルのデータを読み込んで加工して手元のmysqlに書き込むプログラムがあるのですが
プログラムで書き込むのと sql fileに書き出してコマンドで実行する方式のどっちがいいでしょうか?

420:デフォルトの名無しさん
22/07/19 11:20:13 6ZFnu09m.net
>>411
どういう観点で比較したいの?

421:デフォルトの名無しさん
22/07/21 14:52:16.30 qntGDUHT.net
C,C++の勉強してListの構造を学んで疑問に思ったのですが
Javaなどでメモリ飛び飛びで作られたListが存在するときにGCが発生したら完全整列するのでしょうか?それとも要素毎に空いたメモリに再配置されるのでしょうか?
前者なら遅くなるなぁ?と、後者で動いてる?
まぁわかったところでGCなのでやりようがないかもですが、考え方だけでも知っておきたいです

422:デフォルトの名無しさん
22/07/21 14:59:01.82 cxEc0/aI.net
>>413
後者
GC言語に限らずリンクリストは非常に非効率なデータ構造であり、動的配列よりもリンクリストの方が適している状況は極めて稀である
Cで実装しやすいから教科書に出てくるだけ

423:デフォルトの名無しさん
22/07/21 15:10:02.66 qntGDUHT.net
>>414
ありがとうございます
やはり後者ですか
List使った処理を追加したら遅くなりまして
もう一度コードの見直ししてみます

424:デフォルトの名無しさん
22/07/22 21:00:16.41 coO/VVNr.net
アセンブラスレがなかったのでこちらのスレで失礼します。
学校でH8/300Hのマイコン学習をしています。
どうしてもわからないことがあり質問させてただきます。
HEW 生成ファイル補足説明(H8S、H8/300)
URLリンク(www.renesas.com)
の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をピカらせるといった初歩的なことをしているだけですが、
リセット関数はどのコードにも冒頭部分に記述されています。
しかし初期設定部分ということもあってかコピペで済ましており、
学校の人も誰もこの記述の具体的な説明を含む読み方ができません。
どなたか日本語訳的な感じで読み替えてもらえないでしょうか?
よろしくおねがしいます。

425:デフォルトの名無しさん
22/07/22 21:56:20.98 5RjVUBfu.net
アセンブラというかハードの知識が足りてないんじゃね?
ベクタテーブルで調べてごらん。

426:デフォルトの名無しさん
22/07/22 21:57:59.77 JKfbNlr+.net
h8なんて知らん素人だけどさ
このCPUはリセットされると0番地の内容をプログラムカウンタに設定して
そこから実行を開始するっぽい
で、今回はH'0000番地にVECT0という名前をつけて
内容はH'0400
H'0400番地にPResetPRGという名前をつけて
内容はSLEEP命令
この名前とかアドレスはその開発環境のデフォルトなんでしょ

427:デフォルトの名無しさん
22/07/22 22:31:54.54 QLPuwyNz.net
>>416
>じゃあ、なんでわざわざ宣言するんでしょうか?
この回答は「PResetPRGのアドレスは変更可能だから」かな

428:416
22/07/22 23:10:59 coO/VVNr.net
>>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
ありがとうございます。そういうもんですか・・・そこは飲み込みます。

429:デフォルトの名無しさん
22/07/22 23:24:37.68 bpOnuI9e.net
CODE Section は、0400 から、
DATA Section は、0000 からとか、
どこのアドレスを使うか、決めるのは自由だろ?

430:デフォルトの名無しさん
22/07/22 23:37:14.09 bpOnuI9e.net
0000 などは、16進数か?
0000〜00ff: 0〜255
0100〜01ff: 256〜511
0200〜02ff: 512〜768
0300〜03ff: 768〜1023
0400〜04ff: 1024〜1279
つまり、0400 は1024のアドレスから始まる

431:デフォルトの名無しさん
22/07/22 23:38:03.71 JKfbNlr+.net
_PowerON_Resetっていうラベルは
SLEEP命令の位置のH'0400を指すんだよ
それで.DATA.Lという疑似命令で
現在位置H'0000にH'0400を出力する

432:デフォルトの名無しさん
22/07/22 23:51:00.22 JKfbNlr+.net
というかマニュアルを読めよ全部書いてあるぞ
たぶんこの2つだろ↓
H8/300H シリーズ プログラミングマニュアル
H8S, H8/300 シリーズ クロスアセンブラ ユーザーズマニュアル

433:デフォルトの名無しさん
22/07/23 00:11:15.01 mkhmVAM0.net
>>424
今回の質問の前に思いつく限りの検索ワードで調べました。
以下の媒体は特に参考になったと思えたページの一部です。
流石に書籍やpdfを全ページ読んだとは言いませんが、
SECTION、PResetPRG、CODE、LOCATE=H'0400、_PowerON_Reset:、$VECT0、DATA
など、コード内にあった主要な記号


434:は全て検索し、 ヒットした箇所の前後の記述を熟読し、それでも理解できなかったので質問しました。 今は >>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)



435:419
22/07/23 00:43:15.10 6LmREh/f.net
>>420
開発時にメモリ上にどのようにデータを配置するかの指定は今は一般的にリンカの仕事
パソコンのプログラムはもちろん、マイコンでも今はリンカに対して配置するアドレスを
指定するのが一般的
ルネサスの場合、現行のRXマイコンやRAマイコンなどもアドレスはリンカに指示する
しかしレガシーな開発環境だとアセンブラコード内にアドレスを直打ち出来たりして
>>416の例はそのケースだと思う。今時の開発環境でこのパターンはレアと
思われるので理解を深める必要はないかも
H8の開発環境はないのでRXマイコン(CS+)の例だけど
RXマイコンのリセットベクタのアドレスは0xFFFFFFFCからの4バイト
リセットが解除されるとこのアドレスの値がPCへロードされる(=書かれているアドレスから実行が始まる)
URLリンク(uploader.purinka.work)
右のメモリダンプを見ると0xFFFFFFFCの値は0000C0FF。リトルエンディアンなので並べ替えると
0xFFC00000となりこのアドレスから実行が開始される
左の逆アセンブルリストで0xFFC00000を見るとPowerON_Reset_PC関数がある
PowerON_Reset_PC関数のソースコードを見ると
URLリンク(uploader.purinka.work)
#pragma sectionでResetPRGセクションへ配置するよう指示されている(91行目~)
Pはセクション種別で2文字目以降がセクション名
そしてリンカの設定を見ると
URLリンク(uploader.purinka.work)
ResetPRGセクションは0xFFC00000が指定されていて上記アドレスと一致する

436:419
22/07/23 00:44:12.83 6LmREh/f.net
>・このCPUはリセットされると0番地から実行を開始する
正確にはこれは間違っている。正しくは0番地に書いてあるアドレスから実行が開始される
リセットベクタというかベクタテーブルには大きく分けて2パターンあって
・該当するアドレスに書いてある命令を実行する
・該当するアドレスにアドレスから実行する
通常はこのどちらか。H8は後者。前者は古い物に多くて、新しめのはほとんど後者
>・H'0000番地の中にH'0400が入っているについて、その入れる処理は、どこがそうなっているんですか?
>.SECTION $VECT0,DATA,LOCATE=H'0000
>.DATA.L _PowerON_Reset ←PowerON_Resetのアドレスが配置される実データ
この部分が該当箇所。最終的なデータを出力しているのはアセンブラ
上にも書いたけどこのような書き方は今の主流ではない
何となくだけど開発ツールの扱いもまだ不慣れなのかな。自分も使いこなせているとは言い難いけど

437:デフォルトの名無しさん
22/07/23 01:38:12.90 mkhmVAM0.net
>>>423
調べてきました!
DATA命令を使ってメモリ上にアドレスを確保できるってことですね。
どうやら自分はその使い方を、検索時に見落としていたようです。
ようやく0000の中に0400が入る流れがイメージできました。
レスの内容を頼りに調べたところ、下記書籍にDATA命令を用いて
アドレスシンボルの番地をメモリに確保する旨の解説がありました。
たのしくできるH8マイコン制御実験
URLリンク(books.google.co.jp)
>>426-427
419さん画像付きでの解説ありがとうございます!今の自分は「リンカとは?」ってレベルなのですが、
少なくともその「ResetPRGセクションは0xFFC00000が指定されていて上記アドレスと一致する」までの解説は、
画像を見ながら最後まで追いかけることができました。
来週また学校へ行った時に、HEWのツールで同じように追いかけてみます!
「0番地に書いてあるアドレスから実行が開始される」のご指摘も含めて、今後も学んでいきます。

438:デフォルトの名無しさん
22/07/23 11:02:36 a/eG1EZ0.net
うむ。なかなか見所のある若者じゃ、精進なされよ

439:419
22/07/23 11:39:15.16 n897GEgW.net
ぶっちゃけ「今更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のノウハウそのままとは行かないけど雰囲気を掴むくらいは出来るのでは
あとリンカに関してだけどそもそもリンカを含む低レイヤーの解説資料は少ないと思う
自分が知る範囲だとこの本を紹介しておく
リンカ・ローダ実践開発テクニック
URLリンク(shop.cqpub.co.jp)
FreeBSD&gcc環境で解説されていてマイコンに特化した説明ではないので適宜読み替える必要があるけど

440:デフォルトの名無しさん
22/07/23 11:46:55.13 PpxI5rKd.net
アセンブラでリンカの話とか最初からしてもなぁwとは思う

441:デフォルトの名無しさん
22/07/23 12:01:32.61 bR39w9BX.net
H8のベクタってその番地にjmpを描くんじゃないの

442:デフォルトの名無しさん
22/07/23 12:08:49.71 ESnt81dA.net
H8/3069Fみついわボードはよく出来てたなあ
H8のアーキテクチャは普通のPCのCPUと同じノイマン型だからアセンブラの学習には良いと思う
当時はWebでの情報も


443:比較的多かったが 今はどうかな



444:419
22/07/23 12:28:51 n897GEgW.net
>>431
現在の学習レベルだと、とりあえず「そう言うもんだ」で済ましてかまわないとは思うけど
本人は納得できていないみたいだし、いつかは理解しなきゃいけない部分だし良いんでないの
割り込みコントローラ回りを弄るようになったらデバッグのために嫌でも覚えるようだろうし

445:416
22/07/23 14:22:31.02 mkhmVAM0.net
>>430
学校というのは実は職業訓練でして。
今はH8/TinyマイコンとHEW環境を教材にして学んでいますが、
この後の授業は半年かけて、C言語、ラズパイ、Java、スマホのアプリ制作と進んでいく流れです。
H8が時代を感じるものであることは承知しており、プログラムや組込みの基礎を学びつつ、
「わからない状況に陥った時の対応力」を鍛えるつもりで向き合っています。
今回は、自分が勉強しなくちゃいけないところがよくわかりました。
メモリとCPUの関係と、プログラムカウンタの動き方をよく調べておきます。
あとDATA命令の使い方もおさらいします。
ソースコードはちゃんと、1行1行全部、根拠付きで説明できるようになりたいですね。
>HEW後続のCS+の評価版
環境は自宅でも導入しようと以前調べたのですが、自分のメイン機がMac(M1Air)でして、
HWEがMacで使えないと知り、ちょっと保留にしているところです。
Windows機は10年ほど前に買ったDELLのinsprion15Rが押し入れに眠っているので
Macでやるいい方法が見つからなかったから、お盆あたりにそいつを蘇生しようかな、と。
HEW後続のCS+の評価版の件と、リンカ・ローダ実践開発テクニックはブクマ入れました。

446:デフォルトの名無しさん
22/07/23 15:00:25.61 cRrcO95j.net
うむ

447:デフォルトの名無しさん
22/07/23 17:13:46.90 FGM1D/su.net
職業訓練校でH8でアセンブラなんて尖ってるなぁ。
アセンブラなんて基本情報処理向けにCASLでも勉強して
マイコンなんてCでいいと思うんだけどな。

448:デフォルトの名無しさん
22/07/23 18:33:10.27 qgluObjk.net
単にアセンブラと言ってもOSみたいのを作る場合と単にユーザープログラムを
書く場合では必要な知識が違うと思われ

449:デフォルトの名無しさん
22/07/23 19:08:26.97 PpxI5rKd.net
>>438
そうだね
今時組み込みですらlinuxとかOSを使うし一昔前でもitronとか使ってたし
直接リセットベクタやらを設定するようなプログラムは現実にはスーパーファミコンぐらいの
時代に戻らないと無かった気がするな
まぁ、コンピュータの知識としての課題でそういう基礎と言うか基本的な事を知っていて悪い事では無いけど
相当前から最低でもC/C++での開発だっただろうし部分的にインラインアセンブラを使う事はあっても
アセンブラでOS無しのプログラムを書くことはまずないからそんな知識は今となっては殆ど必要無くなってるよね

450:デフォルトの名無しさん
22/07/23 21:02:27 FAO+OpS7.net
組み込みやったことないのか

451:デフォルトの名無しさん
22/07/23 21:44:52.49 ESnt81dA.net
おいくつなのか判らんけどそんな学校行くよりとっとと就職して経験積んだ方が良いよ
マイコンの授業なんて担当教員の趣味がだいぶ入り込んでて誰も反論できないような立場だからやるだけ無駄
1年だかを無駄に過ごすとになる

452:デフォルトの名無しさん
22/07/23 21:52:30.23 FbAMoEc9.net
パチスロの開発に関わってる方や詳しい方にお聞きしたいのですが、リプレイフラグは8977か8978のどちらでしょうか?
65536/8977と65536/8978どちらもほぼ7.3なので分かりません。フリーズ65536/8のように割り切れればいいのですが
よろしくお願いします。

453:419
22/07/23 22:15:43.77 n897GEgW.net
>>435
>この後の授業は半年かけて、C言語、ラズパイ、Java、スマホのアプリ制作と進んでいく流れです。
半年でそれらを習得できるとは思えないからさわりだけなのかな。内容から察するととIoT関係かな?
>メモリとCPUの関係と、プログラムカウンタの動き方をよく調べておきます。
この辺は>>425の“プログラミング(前編) | Renesas”とその後編が比較的平易に説明されていると思うけど
不足なんだろうか
>自分のメイン機がMac(M1Air)
iOS開発とかは別として組み込みに限らず開発系でMacはサポートが弱い事が多くかつトラブルの元に
なりがちだからWindows環境かLinux環境を用意した方が良いと思う
>>439
お仕着せのSDKやコードジェネレータのみで作れる程度の物なら低レイヤーの知識は不要かもね
>>441
判らんでも無いけど、今のご時世に仕事しながら勉強できる会社ってどのくらいあるんだ?
特に質問者が疑問に思っているような低レイヤーに詳しい人がいる会社なんて結構レアそう
開発系なんて日常業務に忙殺されて下手すりゃ体をこわしかねないイメージがあるが

454:デフォルトの名無しさん
22/07/23 22:42:24.60 NgLN2nLK.net
>>442
「10/73以上であること」が規則
なので8977/65536はダメ

455:デフォルトの名無しさん
22/07/23 23:07:39.46 NgLN2nLK.net
Javaでスマホアプリが目標なのだろう
「低レベルもやっといた方がいいよね」はわかるが、
OSなし組み込みが目標でないならH8アセンブラはやりすぎでは…とは思う
(教材の都合とかもあるだろうから余計なお世話だとも思う)

456:デフォルトの名無しさん
22/07/24 00:13:27.63 SLnKepmZ.net
教える側がH8に一番慣れてるぐらいの事情しかない
H8はarduinoでマイコンが注目されてた頃にuClinuxで一時期頭ひとつ抜けてたがラズパイ以降役目を終えた

457:デフォルトの名無しさん
22/07/24 03:06:45.70 J65kp3AQ.net
組み込みは時間の無駄。
仕事で、お金をもらいながら勉強するもの
例えば、YouTube で有名な、雑食系エンジニア・KENTA の初心者向けRuby on Railsサロンは月千円で、
日本6位の3千人が入っている。1位はキングコング西野の数万人
Rails, Linux などが主な勉強内容
コンピューターの基礎は、入門書を1冊を読むだけ。
マイコンなど、全くアプリ開発者に関係ないので、時間の無駄

458:447
22/07/24 03:17:30.67 J65kp3AQ.net
関係ない授業を入れて、全体の価格を上げるため。
詐欺みたいなもの
1個1個を深く勉強していたら、数年掛かるし、切りがない。
マイコン・C 言語だけで、数年掛かる。
アプリ開発者には関係ないから、時間の無駄
KENTA も言ってる。
必要な所だけを勉強して、それ以外は本をサラッと読んで、先に進む。
だから、半年でポートフォリオを作って転職できる
他の香具師が5年掛かっても、何も作れないのは、学校の水増しカリキュラムのせい
大切なのは何かを勉強することではなくて、
勉強する方法を勉強すること!
これがKENTA。
だから半年で開発者になれる
これが分からない香具師は、10年やっても出来ない

459:デフォルトの名無しさん
22/07/24 03:40:32.32 EX/z9tJK.net
ダレだよケンタってチキンか?w

460:デフォルトの名無しさん
22/07/24 04:23:17.54 E5ZFw2qU.net
底辺派遣奴隷がKENTAのYoutubeみて知ったかぶりして、
自分があたかもKENTAになったかのように妄想する自慰の道具。

461:デフォルトの名無しさん
22/07/24 09:32:03.94 hnBeY/7d.net
エンジニア不足解消にむけて、文科省、通産省がいま最も注目する新進気鋭の先導者では?
文科省がエンジニア育成にユー


462:`ューブを活用するワーキンググループを発足したのは、彼の影響と思われる。



463:デフォルトの名無しさん
22/07/24 10:55:48.87 QqIxIyeR.net
DBとネットワークもやった方がいいね

464:デフォルトの名無しさん
22/07/24 13:09:38.66 2lyIaqMH.net
ライブラリの作り方教えて

465:デフォルトの名無しさん
22/07/24 13:11:39.16 vEjRJRF/.net
何のや

466:416
22/07/24 13:34:31.70 MO/A+cHc.net
>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

467:デフォルトの名無しさん
22/07/24 14:05:47.61 brewOpTp.net
>>453
つmake library

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

ちなみにCortex-MやRXの場合、ROMだけでなくRAMに配置されているマシンコードも
実行可能ですし(H8系でRAM上のマシンコードを実行可能かは確認できなかった)
割り込みベクタテーブルの一部をRAMに再配置することも出来ます

469:デフォルトの名無しさん
22/07/24 17:28:20 GMSYIMoG.net
アセンブラのラベルとかがわからないなら、一旦オブジェクトファイルを生成して
それをデバッガでディスアセンブルしたりするのは無し?
そしたら、あーこのアドレスにこれが来るんだーとか

470:デフォルトの名無しさん
22/07/24 17:35:32.41 vEjRJRF/.net
組み込みとか時代遅れのゴミは無視してWeb系に行こうぜ
日本のメーカーは糞でこれから落ちぶれていくだけだから関わらない方が良いよ
IoTとかArduinoだったらギリ許す

471:419
22/07/24 18:18:08.33 t3OCaKrr.net
>>458 質問内容からしてビルド時のフローとかデバッグツールの使い方も判ってなさそうに見える ただコンパイラ系の開発経験がない人が理解するのは難しいだろうとも思う ググってもなかなかまとまった情報が出てこないところだし



473:デフォルトの名無しさん
22/07/24 19:14:36.61 SLnKepmZ.net
>>457
H8もノイマンだからセクションによる実行制限はないはずだよ
ただ今更この人がマイコン学習していくこと自体は不毛な気がするんだよね…

474:デフォルトの名無しさん
22/07/24 19:19:53.04 SLnKepmZ.net
>>455
>ちなみに40代前半IT業界未経験です。
それだと半年程度のお勉強ではどう転んでもIT系への就職は無理
職業訓練の経歴なんて全く評価されないよ
学校なんか行くよりはIT系の派遣に登録して派遣先で顔を覚えて貰いつつどういう業界なのか知っていった方が賢いぞ

475:デフォルトの名無しさん
22/07/24 19:24:05.79 fEm4m5y+.net
てか未経験40代がこんな低レイヤーの勉強するの遠回りすぎるだろ
ある程度現場で経験積んだエンジニアが娯楽でやるもんだよこういうのは

476:416
22/07/24 19:26:23.27 MO/A+cHc.net
>>457 >>460
419さん気にかけてくれてありがとう。
>プログラムとデータやアドレスを分けて考えちゃっているのかな?
>特にマイコンの場合はメモリ保護機能がないか、〜そのアドレスへジャンプします
現時点では何もかも調べなければわからない状態なので、
自ずとそれぞれの意味や違いを几帳面すぎるかな〜とは思いつつも違いを意識しています。
何よりここの基礎が理解できない程度だと、この先もついていけないと直感しています。
>〜あくまでハードウェアから見てそのデータ列がどのように見えるかがポイントで
>与えたデータの管理はプログラマか処理系の仕事です
ここは今後の為に意識しておきますね! 線引き大事。
>ちなみにCortex-MやRXの場合〜割り込みベクタテーブルの一部をRAMに再配置することも出来ます
割り込みベクタテーブルはROM配置と習っていたので、へぇ〜という感じっです。
まぁ今の私にはそこから広がった想像をするだけのスキルがないんですが、頭の片隅に覚えておきます。
>質問内容からしてビルド時のフローとかデバッグツールの使い方も判ってなさそうに見える
ビルド時のフローは今回の質問あと復習しました。とは言っても、
教科書とか入門向けに書いてある、簡略化したフロー図をぼんやりイメージできる程度の理解です。
デバッグツールはまだ触ったことがないのでわからないです。
先ほど授業で最初になったら十数行程度のプログラムをやっと私なりに日本語化できました。
JSRとかMOVとかRTSとか、基本的な命令を使って無意味にループしてるだけの勉強用プログラムですが、
やっぱりぜんぶわかると気持ちいいですね。ようやく1歩目が終わった感じです。
ちなみにH8マイコンの授業は来週でおしまいw
そのあとまた別のプログラムを学びます。今後も頑張っていきます。

477:デフォルトの名無しさん
22/07/24 19:29:06.80 pts8jowi.net
>>444
そういった規則があるのですね。
スッキリしました。
ありがとうございます。

478:デフォルトの名無しさん
22/07/24 20:01:22.22 IZxLU3+7.net
「デフォルト」とは債務不履行のことだと思いますが
なぜム/マ業界では「デフォルト」を別の意味で使っているのですか?

479:デフォルトの名無しさん
22/07/24 20:26:17.55 wPXQkERB.net
default=怠ること
ユーザーが設定変更を怠った場合の値=初期値

480:419
22/07/24 20:27:44.54 t3OCaKrr.net
流行のIoTなどの用途向けに今マイコンを勉強するならRA&FSPかSTM32&CubeMXあたりだろうか
Arduino使える人は結構いるけどそのレベルで製品化までこぎ着けるのは難しいし
別にRXやLPCなど他のマイコンでも良いけど覚えることはちょっと増えそう
>>461-462
H8は特に制限ないのか。


481:一つ勉強になった 仮にIoT目的ならメーカー提供のSDKやコードジェネレータでほぼ足りるはずなので 必ずしも低レイヤーを勉強する必要はなさそうではある 就職の足しにならないであろうはその通りだと思うけど、Web系のみとかではもっと厳しそうな気が



482:デフォルトの名無しさん
22/07/24 21:42:19.01 QqIxIyeR.net
ネットワークとDBが足りてない

483:デフォルトの名無しさん
22/07/24 22:05:40.73 tpoO7THQ.net
40代未経験ならJavaとDBの勉強だけやってさっさと働け
未経験のおっさんが流行のIoT出来る選択肢なんてそもそも存在しない

484:デフォルトの名無しさん
22/07/24 22:29:08.85 3wgufn1T.net
>>467
default = 欠席裁判、ですよ

485:デフォルトの名無しさん
22/07/24 22:32:52.70 MshpqOuh.net
>>471
欠席=出席を怠ること、じゃね

486:447
22/07/24 22:55:38.37 J65kp3AQ.net
KENTA の初心者向け・Ruby on Railsサロンに、年齢制限はあるのか?
出来るか出来ないか、ポートフォリオの実力だけじゃないの?
沖縄のかみざとよしとのやんばるコードとか、
人生逆転サロンの守護神・たけは、
中年で1年ぐらいのプログラミング初心者で、Rails のトップになった!
まあ元々、彼は大学院数学科の天才で、
数学講師から、Java の資格を取って、Railsへ転向した
バグ取り名人 たけ
【Rails】(送信時のリロード無し!)Action CableでSlack風チャットアプリを作成
YouTube の動画

487:419
22/07/24 23:43:09 t3OCaKrr.net
マイコンアプリの開発だけで仕事になるとは思えないけど
ハードもそれなりに出来るならアドバンテージになるんじゃないかな
今でも両方出来る人は多くないしね

488:デフォルトの名無しさん
22/07/24 23:48:59 QqIxIyeR.net
マイコンとか教える側の雇用対策やろ

489:デフォルトの名無しさん
22/07/25 01:55:20.49 fy0hTX+n.net
ぜんぜん部外者なんで素朴な質問をしていいですか?
IoTということは、TCP/IPの機能がいるわけですよね? 割り込みベクタがとか
ゆってるけど、まさかTCP/IPのスタックも実装したりはしないですよね?
結局普通は最初からOS的なものが必要になりそうな気がするのですが

490:デフォルトの名無しさん
22/07/25 01:58:55.05 fy0hTX+n.net
ネットワークのドライバぐらいは実装する必要がある、なら割り込みとか知ってた方が
いいでしょうからまあ確かに

491:デフォルトの名無しさん
22/07/25 02:02:04.18 BZBhu3k0.net
有線LANの作例はいくらでもあるしWiFiやBTモジュールで通信させる方法もある
そしてSSL/TLSが欲しくなるまでがセット


次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

535日前に更新/300 KB
担当:undef