接続数

COUNTER287731FROM 2012/1/12

TOPPERS diary最小セットカーネル(smallest setprofile kernel)

12345
2018/12/18

Athrillソフトウェアでできること 20181221

Tweet ThisSend to Facebook | by kaizen
イベント名Athrillソフトウェアでできること
開催日2018/12/21
公開対象公開イベント
お問い合わせ先e-mail:kaizenwh.commufa.jpTel:
Athrillソフトウェアでできること

永和システムマネジメントでは、ベアメタル・プログラム、組込み制御系 OS(TOPPERS OS, AUTOSAR OS 等)、OS上で動作するリアルタイムなアプリケーションをデバッグできるCPU シミュレータを開発されています。
2018年TOPPERS活用アイデア・アプリケーション開発コンテストで、「TOPPERS/ATK2 カーネル向け実機レス開発環境(athrill2)森崇((株)永和システムマネジメント)」が、アプリケーション開発部門で金賞を受賞されました。また、活用アイデア部門では、「athrill+TOPPERS/SSP(シュリンク版)による初級者向けハンズオンセミナー教材の作成 高橋和浩(アライブビジョンソフトウェア株式会社)」が銀賞を受賞されています。
今、話題のAthrillが、ソフトウェアでできることを明確にしめしています。自動車産業、航空宇宙産業、工作機械産業で必須なCPUシミュレータの考え方、利用方法を、開発者の森崇さんをお招きしてご紹介いただきます。

参考資料

Renesas V850 64bit Linux版gccコンパイラ
https://qiita.com/kanetugu2018/items/b3918e3dc001b78da4b0

TOPPERS/athrillをdockerで利用できるようにするまで
https://qiita.com/kanetugu2018/items/f1368a6da7bdc773cfd9#dockerathrill_asp3のサンプル実行方法

日時:2018年12月21日。午後1時15分から午後5時15分
場所:名古屋市工業研究所電子技術総合センター5階コンピュータ研修室
内容:Athrill 
講師 森崇 (株)永和システムマネジメント
演習助手 小川清 名古屋市工業研究所
参加費:無料   申し込み方法:下記アドレスまでメールまたはTwitter DMで。

ogawa.kiyoshi@nmiri.city.nagoyajp, 
@kaizen_nagoya

PCをお持ち込みいただければ、ソフトウェアの導入などもしていただけます。

15:28 | 投票する | 投票数(0) | コメント(0)
2018/09/03

mruby make(compile)

Tweet ThisSend to Facebook | by kaizen

http://forum.mruby.org/download/index8.html

$ make

ruby ./minirake

(in /Users/administrator/Downloads/mruby-1.3.0)

CC    src/array.c -> build/host/src/array.o

CC    src/backtrace.c -> build/host/src/backtrace.o

CC    src/class.c -> build/host/src/class.o

CC    src/codedump.c -> build/host/src/codedump.o

CC    src/compar.c -> build/host/src/compar.o

CC    src/crc.c -> build/host/src/crc.o

CC    src/debug.c -> build/host/src/debug.o

CC    src/dump.c -> build/host/src/dump.o

CC    src/enum.c -> build/host/src/enum.o

CC    src/error.c -> build/host/src/error.o

CC    src/etc.c -> build/host/src/etc.o

CC    src/fmt_fp.c -> build/host/src/fmt_fp.o

CC    src/gc.c -> build/host/src/gc.o

CC    src/hash.c -> build/host/src/hash.o

CC    src/init.c -> build/host/src/init.o

CC    src/kernel.c -> build/host/src/kernel.o

CC    src/load.c -> build/host/src/load.o

CC    src/numeric.c -> build/host/src/numeric.o

CC    src/object.c -> build/host/src/object.o

CC    src/pool.c -> build/host/src/pool.o

CC    src/print.c -> build/host/src/print.o

CC    src/proc.c -> build/host/src/proc.o

CC    src/range.c -> build/host/src/range.o

CC    src/state.c -> build/host/src/state.o

CC    src/string.c -> build/host/src/string.o

CC    src/symbol.c -> build/host/src/symbol.o

CC    src/variable.c -> build/host/src/variable.o

CC    src/version.c -> build/host/src/version.o

CC    src/vm.c -> build/host/src/vm.o

CC    mrbgems/mruby-bin-mrbc/tools/mrbc/mrbc.c -> build/host/mrbgems/mruby-bin-mrbc/tools/mrbc/mrbc.o

CC    mrbgems/mruby-compiler/core/codegen.c -> build/host/mrbgems/mruby-compiler/core/codegen.o

YACC  mrbgems/mruby-compiler/core/parse.y -> build/host/mrbgems/mruby-compiler/core/y.tab.c

CC    build/host/mrbgems/mruby-compiler/core/y.tab.c -> build/host/mrbgems/mruby-compiler/core/y.tab.o

AR    build/host/lib/libmruby_core.a 

ar: creating archive /Users/administrator/Downloads/mruby-1.3.0/build/host/lib/libmruby_core.a

LD    build/host/bin/mrbc 

GEN   *.rb -> build/host/mrblib/mrblib.c

      MRBC mrblib/00class.rb 

      MRBC mrblib/10error.rb 

      MRBC mrblib/array.rb 

      MRBC mrblib/compar.rb 

      MRBC mrblib/enum.rb 

      MRBC mrblib/hash.rb 

      MRBC mrblib/kernel.rb 

      MRBC mrblib/numeric.rb 

      MRBC mrblib/range.rb 

      MRBC mrblib/string.rb 

CC    build/host/mrblib/mrblib.c -> build/host/mrblib/mrblib.o

CC    mrbgems/mruby-sprintf/src/kernel.c -> build/host/mrbgems/mruby-sprintf/src/kernel.o

CC    mrbgems/mruby-sprintf/src/sprintf.c -> build/host/mrbgems/mruby-sprintf/src/sprintf.o

      MRBC mrbgems/mruby-sprintf/mrblib/string.rb 

CC    build/host/mrbgems/mruby-sprintf/gem_init.c -> build/host/mrbgems/mruby-sprintf/gem_init.o

CC    mrbgems/mruby-print/src/print.c -> build/host/mrbgems/mruby-print/src/print.o

      MRBC mrbgems/mruby-print/mrblib/print.rb 

CC    build/host/mrbgems/mruby-print/gem_init.c -> build/host/mrbgems/mruby-print/gem_init.o

CC    mrbgems/mruby-math/src/math.c -> build/host/mrbgems/mruby-math/src/math.o

CC    build/host/mrbgems/mruby-math/gem_init.c -> build/host/mrbgems/mruby-math/gem_init.o

CC    mrbgems/mruby-time/src/time.c -> build/host/mrbgems/mruby-time/src/time.o

      MRBC mrbgems/mruby-time/mrblib/time.rb 

CC    build/host/mrbgems/mruby-time/gem_init.c -> build/host/mrbgems/mruby-time/gem_init.o

CC    mrbgems/mruby-struct/src/struct.c -> build/host/mrbgems/mruby-struct/src/struct.o

      MRBC mrbgems/mruby-struct/mrblib/struct.rb 

CC    build/host/mrbgems/mruby-struct/gem_init.c -> build/host/mrbgems/mruby-struct/gem_init.o

      MRBC mrbgems/mruby-enum-ext/mrblib/enum.rb 

CC    build/host/mrbgems/mruby-enum-ext/gem_init.c -> build/host/mrbgems/mruby-enum-ext/gem_init.o

CC    mrbgems/mruby-string-ext/src/string.c -> build/host/mrbgems/mruby-string-ext/src/string.o

      MRBC mrbgems/mruby-string-ext/mrblib/string.rb 

CC    build/host/mrbgems/mruby-string-ext/gem_init.c -> build/host/mrbgems/mruby-string-ext/gem_init.o

CC    mrbgems/mruby-numeric-ext/src/numeric_ext.c -> build/host/mrbgems/mruby-numeric-ext/src/numeric_ext.o

      MRBC mrbgems/mruby-numeric-ext/mrblib/numeric_ext.rb 

CC    build/host/mrbgems/mruby-numeric-ext/gem_init.c -> build/host/mrbgems/mruby-numeric-ext/gem_init.o

CC    mrbgems/mruby-array-ext/src/array.c -> build/host/mrbgems/mruby-array-ext/src/array.o

      MRBC mrbgems/mruby-array-ext/mrblib/array.rb 

CC    build/host/mrbgems/mruby-array-ext/gem_init.c -> build/host/mrbgems/mruby-array-ext/gem_init.o

CC    mrbgems/mruby-hash-ext/src/hash-ext.c -> build/host/mrbgems/mruby-hash-ext/src/hash-ext.o

      MRBC mrbgems/mruby-hash-ext/mrblib/hash.rb 

CC    build/host/mrbgems/mruby-hash-ext/gem_init.c -> build/host/mrbgems/mruby-hash-ext/gem_init.o

CC    mrbgems/mruby-range-ext/src/range.c -> build/host/mrbgems/mruby-range-ext/src/range.o

      MRBC mrbgems/mruby-range-ext/mrblib/range.rb 

CC    build/host/mrbgems/mruby-range-ext/gem_init.c -> build/host/mrbgems/mruby-range-ext/gem_init.o

CC    mrbgems/mruby-proc-ext/src/proc.c -> build/host/mrbgems/mruby-proc-ext/src/proc.o

      MRBC mrbgems/mruby-proc-ext/mrblib/proc.rb 

CC    build/host/mrbgems/mruby-proc-ext/gem_init.c -> build/host/mrbgems/mruby-proc-ext/gem_init.o

CC    mrbgems/mruby-symbol-ext/src/symbol.c -> build/host/mrbgems/mruby-symbol-ext/src/symbol.o

      MRBC mrbgems/mruby-symbol-ext/mrblib/symbol.rb 

CC    build/host/mrbgems/mruby-symbol-ext/gem_init.c -> build/host/mrbgems/mruby-symbol-ext/gem_init.o

CC    mrbgems/mruby-random/src/mt19937ar.c -> build/host/mrbgems/mruby-random/src/mt19937ar.o

CC    mrbgems/mruby-random/src/random.c -> build/host/mrbgems/mruby-random/src/random.o

CC    build/host/mrbgems/mruby-random/gem_init.c -> build/host/mrbgems/mruby-random/gem_init.o

CC    mrbgems/mruby-object-ext/src/object.c -> build/host/mrbgems/mruby-object-ext/src/object.o

      MRBC mrbgems/mruby-object-ext/mrblib/object.rb 

CC    build/host/mrbgems/mruby-object-ext/gem_init.c -> build/host/mrbgems/mruby-object-ext/gem_init.o

CC    mrbgems/mruby-objectspace/src/mruby_objectspace.c -> build/host/mrbgems/mruby-objectspace/src/mruby_objectspace.o

CC    build/host/mrbgems/mruby-objectspace/gem_init.c -> build/host/mrbgems/mruby-objectspace/gem_init.o

CC    mrbgems/mruby-fiber/src/fiber.c -> build/host/mrbgems/mruby-fiber/src/fiber.o

CC    build/host/mrbgems/mruby-fiber/gem_init.c -> build/host/mrbgems/mruby-fiber/gem_init.o

      MRBC mrbgems/mruby-enumerator/mrblib/enumerator.rb 

CC    build/host/mrbgems/mruby-enumerator/gem_init.c -> build/host/mrbgems/mruby-enumerator/gem_init.o

      MRBC mrbgems/mruby-enum-lazy/mrblib/lazy.rb 

CC    build/host/mrbgems/mruby-enum-lazy/gem_init.c -> build/host/mrbgems/mruby-enum-lazy/gem_init.o

      MRBC mrbgems/mruby-toplevel-ext/mrblib/toplevel.rb 

CC    build/host/mrbgems/mruby-toplevel-ext/gem_init.c -> build/host/mrbgems/mruby-toplevel-ext/gem_init.o

CC    mrbgems/mruby-kernel-ext/src/kernel.c -> build/host/mrbgems/mruby-kernel-ext/src/kernel.o

CC    build/host/mrbgems/mruby-kernel-ext/gem_init.c -> build/host/mrbgems/mruby-kernel-ext/gem_init.o

CC    mrbgems/mruby-class-ext/src/class.c -> build/host/mrbgems/mruby-class-ext/src/class.o

CC    build/host/mrbgems/mruby-class-ext/gem_init.c -> build/host/mrbgems/mruby-class-ext/gem_init.o

CC    mrbgems/mruby-error/src/exception.c -> build/host/mrbgems/mruby-error/src/exception.o

CC    build/host/mrbgems/mruby-error/gem_init.c -> build/host/mrbgems/mruby-error/gem_init.o

CC    build/host/mrbgems/gem_init.c -> build/host/mrbgems/gem_init.o

AR    build/host/lib/libmruby.a 

ar: creating archive /Users/administrator/Downloads/mruby-1.3.0/build/host/lib/libmruby.a

CC    src/array.c -> build/host-debug/src/array.o

CC    src/backtrace.c -> build/host-debug/src/backtrace.o

CC    src/class.c -> build/host-debug/src/class.o

CC    src/codedump.c -> build/host-debug/src/codedump.o

CC    src/compar.c -> build/host-debug/src/compar.o

CC    src/crc.c -> build/host-debug/src/crc.o

CC    src/debug.c -> build/host-debug/src/debug.o

CC    src/dump.c -> build/host-debug/src/dump.o

CC    src/enum.c -> build/host-debug/src/enum.o

CC    src/error.c -> build/host-debug/src/error.o

CC    src/etc.c -> build/host-debug/src/etc.o

CC    src/fmt_fp.c -> build/host-debug/src/fmt_fp.o

CC    src/gc.c -> build/host-debug/src/gc.o

CC    src/hash.c -> build/host-debug/src/hash.o

CC    src/init.c -> build/host-debug/src/init.o

CC    src/kernel.c -> build/host-debug/src/kernel.o

CC    src/load.c -> build/host-debug/src/load.o

CC    src/numeric.c -> build/host-debug/src/numeric.o

CC    src/object.c -> build/host-debug/src/object.o

CC    src/pool.c -> build/host-debug/src/pool.o

CC    src/print.c -> build/host-debug/src/print.o

CC    src/proc.c -> build/host-debug/src/proc.o

CC    src/range.c -> build/host-debug/src/range.o

CC    src/state.c -> build/host-debug/src/state.o

CC    src/string.c -> build/host-debug/src/string.o

CC    src/symbol.c -> build/host-debug/src/symbol.o

CC    src/variable.c -> build/host-debug/src/variable.o

CC    src/version.c -> build/host-debug/src/version.o

CC    src/vm.c -> build/host-debug/src/vm.o

GEN   *.rb -> build/host-debug/mrblib/mrblib.c

      MRBC mrblib/00class.rb 

      MRBC mrblib/10error.rb 

      MRBC mrblib/array.rb 

      MRBC mrblib/compar.rb 

      MRBC mrblib/enum.rb 

      MRBC mrblib/hash.rb 

      MRBC mrblib/kernel.rb 

      MRBC mrblib/numeric.rb 

      MRBC mrblib/range.rb 

      MRBC mrblib/string.rb 

CC    build/host-debug/mrblib/mrblib.c -> build/host-debug/mrblib/mrblib.o

CC    mrbgems/mruby-sprintf/src/kernel.c -> build/host-debug/mrbgems/mruby-sprintf/src/kernel.o

CC    mrbgems/mruby-sprintf/src/sprintf.c -> build/host-debug/mrbgems/mruby-sprintf/src/sprintf.o

      MRBC mrbgems/mruby-sprintf/mrblib/string.rb 

CC    build/host-debug/mrbgems/mruby-sprintf/gem_init.c -> build/host-debug/mrbgems/mruby-sprintf/gem_init.o

CC    mrbgems/mruby-print/src/print.c -> build/host-debug/mrbgems/mruby-print/src/print.o

      MRBC mrbgems/mruby-print/mrblib/print.rb 

CC    build/host-debug/mrbgems/mruby-print/gem_init.c -> build/host-debug/mrbgems/mruby-print/gem_init.o

CC    mrbgems/mruby-math/src/math.c -> build/host-debug/mrbgems/mruby-math/src/math.o

CC    build/host-debug/mrbgems/mruby-math/gem_init.c -> build/host-debug/mrbgems/mruby-math/gem_init.o

CC    mrbgems/mruby-time/src/time.c -> build/host-debug/mrbgems/mruby-time/src/time.o

      MRBC mrbgems/mruby-time/mrblib/time.rb 

CC    build/host-debug/mrbgems/mruby-time/gem_init.c -> build/host-debug/mrbgems/mruby-time/gem_init.o

CC    mrbgems/mruby-struct/src/struct.c -> build/host-debug/mrbgems/mruby-struct/src/struct.o

      MRBC mrbgems/mruby-struct/mrblib/struct.rb 

CC    build/host-debug/mrbgems/mruby-struct/gem_init.c -> build/host-debug/mrbgems/mruby-struct/gem_init.o

      MRBC mrbgems/mruby-enum-ext/mrblib/enum.rb 

CC    build/host-debug/mrbgems/mruby-enum-ext/gem_init.c -> build/host-debug/mrbgems/mruby-enum-ext/gem_init.o

CC    mrbgems/mruby-string-ext/src/string.c -> build/host-debug/mrbgems/mruby-string-ext/src/string.o

      MRBC mrbgems/mruby-string-ext/mrblib/string.rb 

CC    build/host-debug/mrbgems/mruby-string-ext/gem_init.c -> build/host-debug/mrbgems/mruby-string-ext/gem_init.o

CC    mrbgems/mruby-numeric-ext/src/numeric_ext.c -> build/host-debug/mrbgems/mruby-numeric-ext/src/numeric_ext.o

      MRBC mrbgems/mruby-numeric-ext/mrblib/numeric_ext.rb 

CC    build/host-debug/mrbgems/mruby-numeric-ext/gem_init.c -> build/host-debug/mrbgems/mruby-numeric-ext/gem_init.o

CC    mrbgems/mruby-array-ext/src/array.c -> build/host-debug/mrbgems/mruby-array-ext/src/array.o

      MRBC mrbgems/mruby-array-ext/mrblib/array.rb 

CC    build/host-debug/mrbgems/mruby-array-ext/gem_init.c -> build/host-debug/mrbgems/mruby-array-ext/gem_init.o

CC    mrbgems/mruby-hash-ext/src/hash-ext.c -> build/host-debug/mrbgems/mruby-hash-ext/src/hash-ext.o

      MRBC mrbgems/mruby-hash-ext/mrblib/hash.rb 

CC    build/host-debug/mrbgems/mruby-hash-ext/gem_init.c -> build/host-debug/mrbgems/mruby-hash-ext/gem_init.o

CC    mrbgems/mruby-range-ext/src/range.c -> build/host-debug/mrbgems/mruby-range-ext/src/range.o

      MRBC mrbgems/mruby-range-ext/mrblib/range.rb 

CC    build/host-debug/mrbgems/mruby-range-ext/gem_init.c -> build/host-debug/mrbgems/mruby-range-ext/gem_init.o

CC    mrbgems/mruby-proc-ext/src/proc.c -> build/host-debug/mrbgems/mruby-proc-ext/src/proc.o

      MRBC mrbgems/mruby-proc-ext/mrblib/proc.rb 

CC    build/host-debug/mrbgems/mruby-proc-ext/gem_init.c -> build/host-debug/mrbgems/mruby-proc-ext/gem_init.o

CC    mrbgems/mruby-symbol-ext/src/symbol.c -> build/host-debug/mrbgems/mruby-symbol-ext/src/symbol.o

      MRBC mrbgems/mruby-symbol-ext/mrblib/symbol.rb 

CC    build/host-debug/mrbgems/mruby-symbol-ext/gem_init.c -> build/host-debug/mrbgems/mruby-symbol-ext/gem_init.o

CC    mrbgems/mruby-random/src/mt19937ar.c -> build/host-debug/mrbgems/mruby-random/src/mt19937ar.o

CC    mrbgems/mruby-random/src/random.c -> build/host-debug/mrbgems/mruby-random/src/random.o

CC    build/host-debug/mrbgems/mruby-random/gem_init.c -> build/host-debug/mrbgems/mruby-random/gem_init.o

CC    mrbgems/mruby-object-ext/src/object.c -> build/host-debug/mrbgems/mruby-object-ext/src/object.o

      MRBC mrbgems/mruby-object-ext/mrblib/object.rb 

CC    build/host-debug/mrbgems/mruby-object-ext/gem_init.c -> build/host-debug/mrbgems/mruby-object-ext/gem_init.o

CC    mrbgems/mruby-objectspace/src/mruby_objectspace.c -> build/host-debug/mrbgems/mruby-objectspace/src/mruby_objectspace.o

CC    build/host-debug/mrbgems/mruby-objectspace/gem_init.c -> build/host-debug/mrbgems/mruby-objectspace/gem_init.o

CC    mrbgems/mruby-fiber/src/fiber.c -> build/host-debug/mrbgems/mruby-fiber/src/fiber.o

CC    build/host-debug/mrbgems/mruby-fiber/gem_init.c -> build/host-debug/mrbgems/mruby-fiber/gem_init.o

      MRBC mrbgems/mruby-enumerator/mrblib/enumerator.rb 

CC    build/host-debug/mrbgems/mruby-enumerator/gem_init.c -> build/host-debug/mrbgems/mruby-enumerator/gem_init.o

      MRBC mrbgems/mruby-enum-lazy/mrblib/lazy.rb 

CC    build/host-debug/mrbgems/mruby-enum-lazy/gem_init.c -> build/host-debug/mrbgems/mruby-enum-lazy/gem_init.o

      MRBC mrbgems/mruby-toplevel-ext/mrblib/toplevel.rb 

CC    build/host-debug/mrbgems/mruby-toplevel-ext/gem_init.c -> build/host-debug/mrbgems/mruby-toplevel-ext/gem_init.o

CC    mrbgems/mruby-kernel-ext/src/kernel.c -> build/host-debug/mrbgems/mruby-kernel-ext/src/kernel.o

CC    build/host-debug/mrbgems/mruby-kernel-ext/gem_init.c -> build/host-debug/mrbgems/mruby-kernel-ext/gem_init.o

CC    mrbgems/mruby-class-ext/src/class.c -> build/host-debug/mrbgems/mruby-class-ext/src/class.o

CC    build/host-debug/mrbgems/mruby-class-ext/gem_init.c -> build/host-debug/mrbgems/mruby-class-ext/gem_init.o

CC    mrbgems/mruby-compiler/core/codegen.c -> build/host-debug/mrbgems/mruby-compiler/core/codegen.o

YACC  mrbgems/mruby-compiler/core/parse.y -> build/host-debug/mrbgems/mruby-compiler/core/y.tab.c

CC    build/host-debug/mrbgems/mruby-compiler/core/y.tab.c -> build/host-debug/mrbgems/mruby-compiler/core/y.tab.o

CC    mrbgems/mruby-eval/src/eval.c -> build/host-debug/mrbgems/mruby-eval/src/eval.o

CC    build/host-debug/mrbgems/mruby-eval/gem_init.c -> build/host-debug/mrbgems/mruby-eval/gem_init.o

CC    mrbgems/mruby-error/src/exception.c -> build/host-debug/mrbgems/mruby-error/src/exception.o

CC    build/host-debug/mrbgems/mruby-error/gem_init.c -> build/host-debug/mrbgems/mruby-error/gem_init.o

CC    build/host-debug/mrbgems/gem_init.c -> build/host-debug/mrbgems/gem_init.o

AR    build/host-debug/lib/libmruby.a 

ar: creating archive /Users/administrator/Downloads/mruby-1.3.0/build/host-debug/lib/libmruby.a

CC    src/array.c -> build/test/src/array.o

CC    src/backtrace.c -> build/test/src/backtrace.o

CC    src/class.c -> build/test/src/class.o

CC    src/codedump.c -> build/test/src/codedump.o

CC    src/compar.c -> build/test/src/compar.o

CC    src/crc.c -> build/test/src/crc.o

CC    src/debug.c -> build/test/src/debug.o

CC    src/dump.c -> build/test/src/dump.o

CC    src/enum.c -> build/test/src/enum.o

CC    src/error.c -> build/test/src/error.o

CC    src/etc.c -> build/test/src/etc.o

CC    src/fmt_fp.c -> build/test/src/fmt_fp.o

CC    src/gc.c -> build/test/src/gc.o

CC    src/hash.c -> build/test/src/hash.o

CC    src/init.c -> build/test/src/init.o

CC    src/kernel.c -> build/test/src/kernel.o

CC    src/load.c -> build/test/src/load.o

CC    src/numeric.c -> build/test/src/numeric.o

CC    src/object.c -> build/test/src/object.o

CC    src/pool.c -> build/test/src/pool.o

CC    src/print.c -> build/test/src/print.o

CC    src/proc.c -> build/test/src/proc.o

CC    src/range.c -> build/test/src/range.o

CC    src/state.c -> build/test/src/state.o

CC    src/string.c -> build/test/src/string.o

CC    src/symbol.c -> build/test/src/symbol.o

CC    src/variable.c -> build/test/src/variable.o

CC    src/version.c -> build/test/src/version.o

CC    src/vm.c -> build/test/src/vm.o

GEN   *.rb -> build/test/mrblib/mrblib.c

      MRBC mrblib/00class.rb 

      MRBC mrblib/10error.rb 

      MRBC mrblib/array.rb 

      MRBC mrblib/compar.rb 

      MRBC mrblib/enum.rb 

      MRBC mrblib/hash.rb 

      MRBC mrblib/kernel.rb 

      MRBC mrblib/numeric.rb 

      MRBC mrblib/range.rb 

      MRBC mrblib/string.rb 

CC    build/test/mrblib/mrblib.c -> build/test/mrblib/mrblib.o

CC    mrbgems/mruby-sprintf/src/kernel.c -> build/test/mrbgems/mruby-sprintf/src/kernel.o

CC    mrbgems/mruby-sprintf/src/sprintf.c -> build/test/mrbgems/mruby-sprintf/src/sprintf.o

      MRBC mrbgems/mruby-sprintf/mrblib/string.rb 

CC    build/test/mrbgems/mruby-sprintf/gem_init.c -> build/test/mrbgems/mruby-sprintf/gem_init.o

CC    mrbgems/mruby-print/src/print.c -> build/test/mrbgems/mruby-print/src/print.o

      MRBC mrbgems/mruby-print/mrblib/print.rb 

CC    build/test/mrbgems/mruby-print/gem_init.c -> build/test/mrbgems/mruby-print/gem_init.o

CC    mrbgems/mruby-math/src/math.c -> build/test/mrbgems/mruby-math/src/math.o

CC    build/test/mrbgems/mruby-math/gem_init.c -> build/test/mrbgems/mruby-math/gem_init.o

CC    mrbgems/mruby-time/src/time.c -> build/test/mrbgems/mruby-time/src/time.o

      MRBC mrbgems/mruby-time/mrblib/time.rb 

CC    build/test/mrbgems/mruby-time/gem_init.c -> build/test/mrbgems/mruby-time/gem_init.o

CC    mrbgems/mruby-struct/src/struct.c -> build/test/mrbgems/mruby-struct/src/struct.o

      MRBC mrbgems/mruby-struct/mrblib/struct.rb 

CC    build/test/mrbgems/mruby-struct/gem_init.c -> build/test/mrbgems/mruby-struct/gem_init.o

      MRBC mrbgems/mruby-enum-ext/mrblib/enum.rb 

CC    build/test/mrbgems/mruby-enum-ext/gem_init.c -> build/test/mrbgems/mruby-enum-ext/gem_init.o

CC    mrbgems/mruby-string-ext/src/string.c -> build/test/mrbgems/mruby-string-ext/src/string.o

      MRBC mrbgems/mruby-string-ext/mrblib/string.rb 

CC    build/test/mrbgems/mruby-string-ext/gem_init.c -> build/test/mrbgems/mruby-string-ext/gem_init.o

CC    mrbgems/mruby-numeric-ext/src/numeric_ext.c -> build/test/mrbgems/mruby-numeric-ext/src/numeric_ext.o

      MRBC mrbgems/mruby-numeric-ext/mrblib/numeric_ext.rb 

CC    build/test/mrbgems/mruby-numeric-ext/gem_init.c -> build/test/mrbgems/mruby-numeric-ext/gem_init.o

CC    mrbgems/mruby-array-ext/src/array.c -> build/test/mrbgems/mruby-array-ext/src/array.o

      MRBC mrbgems/mruby-array-ext/mrblib/array.rb 

CC    build/test/mrbgems/mruby-array-ext/gem_init.c -> build/test/mrbgems/mruby-array-ext/gem_init.o

CC    mrbgems/mruby-hash-ext/src/hash-ext.c -> build/test/mrbgems/mruby-hash-ext/src/hash-ext.o

      MRBC mrbgems/mruby-hash-ext/mrblib/hash.rb 

CC    build/test/mrbgems/mruby-hash-ext/gem_init.c -> build/test/mrbgems/mruby-hash-ext/gem_init.o

CC    mrbgems/mruby-range-ext/src/range.c -> build/test/mrbgems/mruby-range-ext/src/range.o

      MRBC mrbgems/mruby-range-ext/mrblib/range.rb 

CC    build/test/mrbgems/mruby-range-ext/gem_init.c -> build/test/mrbgems/mruby-range-ext/gem_init.o

CC    mrbgems/mruby-proc-ext/src/proc.c -> build/test/mrbgems/mruby-proc-ext/src/proc.o

      MRBC mrbgems/mruby-proc-ext/mrblib/proc.rb 

CC    build/test/mrbgems/mruby-proc-ext/gem_init.c -> build/test/mrbgems/mruby-proc-ext/gem_init.o

CC    mrbgems/mruby-symbol-ext/src/symbol.c -> build/test/mrbgems/mruby-symbol-ext/src/symbol.o

      MRBC mrbgems/mruby-symbol-ext/mrblib/symbol.rb 

CC    build/test/mrbgems/mruby-symbol-ext/gem_init.c -> build/test/mrbgems/mruby-symbol-ext/gem_init.o

CC    mrbgems/mruby-random/src/mt19937ar.c -> build/test/mrbgems/mruby-random/src/mt19937ar.o

CC    mrbgems/mruby-random/src/random.c -> build/test/mrbgems/mruby-random/src/random.o

CC    build/test/mrbgems/mruby-random/gem_init.c -> build/test/mrbgems/mruby-random/gem_init.o

CC    mrbgems/mruby-object-ext/src/object.c -> build/test/mrbgems/mruby-object-ext/src/object.o

      MRBC mrbgems/mruby-object-ext/mrblib/object.rb 

CC    build/test/mrbgems/mruby-object-ext/gem_init.c -> build/test/mrbgems/mruby-object-ext/gem_init.o

CC    mrbgems/mruby-objectspace/src/mruby_objectspace.c -> build/test/mrbgems/mruby-objectspace/src/mruby_objectspace.o

CC    build/test/mrbgems/mruby-objectspace/gem_init.c -> build/test/mrbgems/mruby-objectspace/gem_init.o

CC    mrbgems/mruby-fiber/src/fiber.c -> build/test/mrbgems/mruby-fiber/src/fiber.o

CC    build/test/mrbgems/mruby-fiber/gem_init.c -> build/test/mrbgems/mruby-fiber/gem_init.o

      MRBC mrbgems/mruby-enumerator/mrblib/enumerator.rb 

CC    build/test/mrbgems/mruby-enumerator/gem_init.c -> build/test/mrbgems/mruby-enumerator/gem_init.o

      MRBC mrbgems/mruby-enum-lazy/mrblib/lazy.rb 

CC    build/test/mrbgems/mruby-enum-lazy/gem_init.c -> build/test/mrbgems/mruby-enum-lazy/gem_init.o

      MRBC mrbgems/mruby-toplevel-ext/mrblib/toplevel.rb 

CC    build/test/mrbgems/mruby-toplevel-ext/gem_init.c -> build/test/mrbgems/mruby-toplevel-ext/gem_init.o

CC    mrbgems/mruby-kernel-ext/src/kernel.c -> build/test/mrbgems/mruby-kernel-ext/src/kernel.o

CC    build/test/mrbgems/mruby-kernel-ext/gem_init.c -> build/test/mrbgems/mruby-kernel-ext/gem_init.o

CC    mrbgems/mruby-class-ext/src/class.c -> build/test/mrbgems/mruby-class-ext/src/class.o

CC    build/test/mrbgems/mruby-class-ext/gem_init.c -> build/test/mrbgems/mruby-class-ext/gem_init.o

CC    mrbgems/mruby-compiler/core/codegen.c -> build/test/mrbgems/mruby-compiler/core/codegen.o

YACC  mrbgems/mruby-compiler/core/parse.y -> build/test/mrbgems/mruby-compiler/core/y.tab.c

CC    build/test/mrbgems/mruby-compiler/core/y.tab.c -> build/test/mrbgems/mruby-compiler/core/y.tab.o

CC    mrbgems/mruby-error/src/exception.c -> build/test/mrbgems/mruby-error/src/exception.o

CC    build/test/mrbgems/mruby-error/gem_init.c -> build/test/mrbgems/mruby-error/gem_init.o

CC    build/test/mrbgems/gem_init.c -> build/test/mrbgems/gem_init.o

AR    build/test/lib/libmruby.a 

ar: creating archive /Users/administrator/Downloads/mruby-1.3.0/build/test/lib/libmruby.a

CC    src/array.c -> build/bench/src/array.o

CC    src/backtrace.c -> build/bench/src/backtrace.o

CC    src/class.c -> build/bench/src/class.o

CC    src/codedump.c -> build/bench/src/codedump.o

CC    src/compar.c -> build/bench/src/compar.o

CC    src/crc.c -> build/bench/src/crc.o

CC    src/debug.c -> build/bench/src/debug.o

CC    src/dump.c -> build/bench/src/dump.o

CC    src/enum.c -> build/bench/src/enum.o

CC    src/error.c -> build/bench/src/error.o

CC    src/etc.c -> build/bench/src/etc.o

CC    src/fmt_fp.c -> build/bench/src/fmt_fp.o

CC    src/gc.c -> build/bench/src/gc.o

CC    src/hash.c -> build/bench/src/hash.o

CC    src/init.c -> build/bench/src/init.o

CC    src/kernel.c -> build/bench/src/kernel.o

CC    src/load.c -> build/bench/src/load.o

CC    src/numeric.c -> build/bench/src/numeric.o

CC    src/object.c -> build/bench/src/object.o

CC    src/pool.c -> build/bench/src/pool.o

CC    src/print.c -> build/bench/src/print.o

CC    src/proc.c -> build/bench/src/proc.o

CC    src/range.c -> build/bench/src/range.o

CC    src/state.c -> build/bench/src/state.o

CC    src/string.c -> build/bench/src/string.o

CC    src/symbol.c -> build/bench/src/symbol.o

CC    src/variable.c -> build/bench/src/variable.o

CC    src/version.c -> build/bench/src/version.o

CC    src/vm.c -> build/bench/src/vm.o

GEN   *.rb -> build/bench/mrblib/mrblib.c

      MRBC mrblib/00class.rb 

      MRBC mrblib/10error.rb 

      MRBC mrblib/array.rb 

      MRBC mrblib/compar.rb 

      MRBC mrblib/enum.rb 

      MRBC mrblib/hash.rb 

      MRBC mrblib/kernel.rb 

      MRBC mrblib/numeric.rb 

      MRBC mrblib/range.rb 

      MRBC mrblib/string.rb 

CC    build/bench/mrblib/mrblib.c -> build/bench/mrblib/mrblib.o

CC    mrbgems/mruby-sprintf/src/kernel.c -> build/bench/mrbgems/mruby-sprintf/src/kernel.o

CC    mrbgems/mruby-sprintf/src/sprintf.c -> build/bench/mrbgems/mruby-sprintf/src/sprintf.o

 (中略)

CC    build/test/mrbgems/mruby-compiler/gem_test.c -> build/test/mrbgems/mruby-compiler/gem_test.o

      MRBC test/t/argumenterror.rb 

      MRBC test/t/array.rb 

      MRBC test/t/basicobject.rb 

      MRBC test/t/bs_block.rb 

      MRBC test/t/bs_literal.rb 

      MRBC test/t/class.rb 

      MRBC test/t/codegen.rb 

      MRBC test/t/comparable.rb 

      MRBC test/t/ensure.rb 

      MRBC test/t/enumerable.rb 

      MRBC test/t/exception.rb 

      MRBC test/t/false.rb 

      MRBC test/t/float.rb 

      MRBC test/t/gc.rb 

      MRBC test/t/hash.rb 

      MRBC test/t/indexerror.rb 

      MRBC test/t/integer.rb 

      MRBC test/t/kernel.rb 

      MRBC test/t/lang.rb 

      MRBC test/t/literals.rb 

      MRBC test/t/localjumperror.rb 

      MRBC test/t/methods.rb 

      MRBC test/t/module.rb 

      MRBC test/t/nameerror.rb 

      MRBC test/t/nil.rb 

      MRBC test/t/nomethoderror.rb 

      MRBC test/t/numeric.rb 

      MRBC test/t/object.rb 

      MRBC test/t/proc.rb 

      MRBC test/t/range.rb 

      MRBC test/t/rangeerror.rb 

      MRBC test/t/regexperror.rb 

      MRBC test/t/runtimeerror.rb 

      MRBC test/t/standarderror.rb 

      MRBC test/t/string.rb 

      MRBC test/t/superclass.rb 

      MRBC test/t/symbol.rb 

      MRBC test/t/syntax.rb 

      MRBC test/t/true.rb 

      MRBC test/t/typeerror.rb 

      MRBC test/t/unicode.rb 

CC    build/test/mrbgems/mruby-test/gem_test.c -> build/test/mrbgems/mruby-test/gem_test.o

CC    mrbgems/mruby-error/test/exception.c -> build/test/mrbgems/mruby-error/test/exception.o

      MRBC mrbgems/mruby-error/test/exception.rb 

CC    build/test/mrbgems/mruby-error/gem_test.c -> build/test/mrbgems/mruby-error/gem_test.o

AR    build/test/mrbgems/mruby-test/mrbtest.a 

ar: creating archive /Users/administrator/Downloads/mruby-1.3.0/build/test/mrbgems/mruby-test/mrbtest.a

AR    build/test/lib/libmruby_core.a 

ar: creating archive /Users/administrator/Downloads/mruby-1.3.0/build/test/lib/libmruby_core.a

LD    build/test/bin/mrbtest 


Build summary:


================================================

      Config Name: host

 Output Directory: build/host

         Binaries: mrbc

    Included Gems:

             mruby-sprintf - standard Kernel#sprintf method

             mruby-print - standard print/puts/p

             mruby-math - standard Math module

             mruby-time - standard Time class

             mruby-struct - standard Struct class

             mruby-enum-ext - Enumerable module extension

             mruby-string-ext - String class extension

             mruby-numeric-ext - Numeric class extension

             mruby-array-ext - Array class extension

             mruby-hash-ext - Hash class extension

             mruby-range-ext - Range class extension

             mruby-proc-ext - Proc class extension

             mruby-symbol-ext - Symbol class extension

             mruby-random - Random class

             mruby-object-ext - Object class extension

             mruby-objectspace - ObjectSpace class

             mruby-fiber - Fiber class

             mruby-enumerator - Enumerator class

             mruby-enum-lazy - Enumerator::Lazy class

             mruby-toplevel-ext - toplevel object (main) methods extension

             mruby-compiler - mruby compiler library

             mruby-bin-mirb - mirb command

               - Binaries: mirb

             mruby-error - extensional error handling

             mruby-bin-mruby - mruby command

               - Binaries: mruby

             mruby-bin-strip - irep dump debug section remover command

               - Binaries: mruby-strip

             mruby-kernel-ext - Kernel module extension

             mruby-class-ext - class/module extension

             mruby-bin-mrbc - mruby compiler executable

================================================


================================================

      Config Name: host-debug

 Output Directory: build/host-debug

    Included Gems:

             mruby-sprintf - standard Kernel#sprintf method

             mruby-print - standard print/puts/p

             mruby-math - standard Math module

             mruby-time - standard Time class

             mruby-struct - standard Struct class

             mruby-enum-ext - Enumerable module extension

             mruby-string-ext - String class extension

             mruby-numeric-ext - Numeric class extension

             mruby-array-ext - Array class extension

             mruby-hash-ext - Hash class extension

             mruby-range-ext - Range class extension

             mruby-proc-ext - Proc class extension

             mruby-symbol-ext - Symbol class extension

             mruby-random - Random class

             mruby-object-ext - Object class extension

             mruby-objectspace - ObjectSpace class

             mruby-fiber - Fiber class

             mruby-enumerator - Enumerator class

             mruby-enum-lazy - Enumerator::Lazy class

             mruby-toplevel-ext - toplevel object (main) methods extension

             mruby-compiler - mruby compiler library

             mruby-bin-mirb - mirb command

               - Binaries: mirb

             mruby-error - extensional error handling

             mruby-bin-mruby - mruby command

               - Binaries: mruby

             mruby-bin-strip - irep dump debug section remover command

               - Binaries: mruby-strip

             mruby-kernel-ext - Kernel module extension

             mruby-class-ext - class/module extension

             mruby-eval - standard Kernel#eval method

             mruby-bin-debugger - mruby debugger command

               - Binaries: mrdb

================================================


================================================

      Config Name: test

 Output Directory: build/test

         Binaries: mrbtest

    Included Gems:

             mruby-sprintf - standard Kernel#sprintf method

             mruby-print - standard print/puts/p

             mruby-math - standard Math module

             mruby-time - standard Time class

             mruby-struct - standard Struct class

             mruby-enum-ext - Enumerable module extension

             mruby-fiber - Fiber class

             mruby-enumerator - Enumerator class

             mruby-string-ext - String class extension

             mruby-numeric-ext - Numeric class extension

             mruby-array-ext - Array class extension

             mruby-hash-ext - Hash class extension

             mruby-range-ext - Range class extension

             mruby-proc-ext - Proc class extension

             mruby-symbol-ext - Symbol class extension

             mruby-random - Random class

             mruby-object-ext - Object class extension

             mruby-objectspace - ObjectSpace class

             mruby-enum-lazy - Enumerator::Lazy class

             mruby-toplevel-ext - toplevel object (main) methods extension

             mruby-compiler - mruby compiler library

             mruby-bin-mirb - mirb command

               - Binaries: mirb

             mruby-error - extensional error handling

             mruby-bin-mruby - mruby command

               - Binaries: mruby

             mruby-bin-strip - irep dump debug section remover command

               - Binaries: mruby-strip

             mruby-kernel-ext - Kernel module extension

             mruby-class-ext - class/module extension

             mruby-test - mruby test

================================================


================================================

      Config Name: bench

 Output Directory: build/bench

    Included Gems:

             mruby-sprintf - standard Kernel#sprintf method

             mruby-print - standard print/puts/p

             mruby-math - standard Math module

             mruby-time - standard Time class

             mruby-struct - standard Struct class

             mruby-enum-ext - Enumerable module extension

             mruby-string-ext - String class extension

             mruby-numeric-ext - Numeric class extension

             mruby-array-ext - Array class extension

             mruby-hash-ext - Hash class extension

             mruby-range-ext - Range class extension

             mruby-proc-ext - Proc class extension

             mruby-symbol-ext - Symbol class extension

             mruby-random - Random class

             mruby-object-ext - Object class extension

             mruby-objectspace - ObjectSpace class

             mruby-fiber - Fiber class

             mruby-enumerator - Enumerator class

             mruby-enum-lazy - Enumerator::Lazy class

             mruby-toplevel-ext - toplevel object (main) methods extension

             mruby-compiler - mruby compiler library

             mruby-bin-mirb - mirb command

               - Binaries: mirb

             mruby-error - extensional error handling

             mruby-bin-mruby - mruby command

               - Binaries: mruby

             mruby-bin-strip - irep dump debug section remover command

               - Binaries: mruby-strip

             mruby-kernel-ext - Kernel module extension

             mruby-class-ext - class/module extension

================================================



16:28 | 投票する | 投票数(0) | コメント(0)
2018/07/30

つづき3

Tweet ThisSend to Facebook | by kaizen

OS(operating system)/kernel/boot(start up)/割込

os自作入門のusbブート
https://qiita.com/phoneticdata/items/9b0c74f59aba9c0a2ed1

メモ:「12ステップで作る 組込みOS自作入門」環境構築
https://qiita.com/mokrai/items/d9f6c6f5f939dbe8fa6c

自作OS(1): ブートローダ
https://qiita.com/Wanwannodao/items/19830459606eedc46812

BIOSを使用しないでテキストを表示させる
https://qiita.com/Wanwannodao/items/1d999aeb365397d08493

BIOS interrupt callを使う
https://qiita.com/tobira-code/items/d7de8fa78e29735a49b6

STM32 Nucleo Boardスタートアップルーチン
https://qiita.com/mitazet/items/54713ec4e89f0b57ac6e

TOPPERS/FMPカーネルソース勉強会(1) start.S
https://qiita.com/kaizen_nagoya/items/9a0bd8a725de62682602

TOPPERS/SSPカーネルソース勉強会(1) start.S
https://qiita.com/kaizen_nagoya/items/fa0d482bfaacf37dbe62

Linuxのブートシーケンス
https://qiita.com/taichitk/items/b3b69705be0e270e9f6e

Linux Boot Process(compressed)
https://qiita.com/tomoyafujita/items/929b32e8ff9da2c0589c

x86 プロテクトモードにおける割り込み発生からハンドラ実行までの流れ
https://qiita.com/pukin/items/c40e14bbdce19e332cc1

FPGA+SoC+Linuxのブートシーケンス@ikwzm 

FPGA+SoC+Linuxのブートシーケンス(概要編)
https://qiita.com/ikwzm/items/b4ccae34cf554c80d1b4

FPGA+SoC+Linuxのブートシーケンス(Altera SoC+EDS編)
https://qiita.com/ikwzm/items/c22d15803ed98f0e52ab

FPGA+SoC+Linuxのブートシーケンス(ZYNQ+U-Boot-SPL編)
https://qiita.com/ikwzm/items/efacec8d8e0744e17d45

FPGA+SoC+Linuxのブートシーケンス(ZYNQ+Vivado編)
https://qiita.com/ikwzm/items/1614c35233e1836c7a26

FPGA+SoC+Linux+Device Tree Overlay+FPGA Manager(PYNQ-Z1対応)
https://qiita.com/ikwzm/items/d6fdaa859906252fd8b0

FPGA+SoC+Linuxのブートシーケンス(Device Tree Overlay+FPGA Manager編)
https://qiita.com/ikwzm/items/57b28cac4f6857b5a199#_reference-05a615386d34e022b75a

FPGA+SoC+LinuxでDevice Tree Overlayを試してみた
https://qiita.com/ikwzm/items/ec514e955c16076327ce

FPGA+SoC+Linux+Device Tree Overlay+FPGA Manager(ブートイメージの提供)
https://qiita.com/ikwzm/items/cdeb3c9c352776eac683

FPGA+SoC+Linux+Device Tree Overlay+FPGA Region(ブートイメージの提供)
https://qiita.com/ikwzm/items/7e90f0ca2165dbb9a577#_reference-633c49df4b5589a30d11

FPGA+SoC+LinuxでFPGA Managerを試してみた
https://qiita.com/ikwzm/items/9eb4d49545636162057e

FPGA+SoC+LinuxでFPGA Managerを試してみた(まとめ)
https://qiita.com/ikwzm/items/393d483131bcf6ad7cb0

FPGA+SoC+LinuxでFPGA Managerを試してみた(まとめ2)
https://qiita.com/ikwzm/items/4f89cf7cb42f6cc2705f

ZYBO用U-Bootを、ブート時にuEnv.txtを読むようにして、かつBOOT.binから起動できるようにする
https://qiita.com/ikwzm/items/1734676d787e2693df47

Linux Kernel 4.10 でのFPGAのサポート事情
https://qiita.com/ikwzm/items/2ff7d5429da8ace7c0bd

Linux @akachochin 

Linux(x86-32bit)のページフォルトハンドラを読んでみる(その1)
https://qiita.com/akachochin/items/e5fcefbd27f6c9fd711c

Linux(x86-32bit)のページフォルトハンドラを読んでみる(その2)
https://qiita.com/akachochin/items/5121d658fa62fb116728

Linux(x86-32bit)のページフォルトハンドラを読んでみる(その3)
https://qiita.com/akachochin/items/396f88c65fd81be1333a

Linux(x86-32bit)のページフォルトハンドラを読んでみる(その4)
https://qiita.com/akachochin/items/6e38f89f9421f3e7cbcf

Linux(x86-32bit)のページフォルトハンドラを読んでみる(その5)
https://qiita.com/akachochin/items/e7ffdca00c00d322022a

Linux(x86-32bit)のページフォルトハンドラを読んでみる(その6)
https://qiita.com/akachochin/items/7ab3ea00b346bd4a3de1

Linux(x86-32bit)のページフォルトハンドラを読んでみる(その7)
https://qiita.com/akachochin/items/325863a6699000e228b8

Linux(x86-32bit)のページフォルトハンドラを読んでみる(その8)
https://qiita.com/akachochin/items/a2ad7770b30c8841c064

Linux(x86-32bit)のページフォルトハンドラを読んでみる(その9)
https://qiita.com/akachochin/items/258cccd1695fcafc2ede

30日でできる! OS自作入門

30日でできる!OS自作入門(記事一覧)[Ubuntu16.04/NASM]
https://qiita.com/pollenjp/items/b7e4392d945b8aa4ff98

30日でできる!OS自作入門(1日目)[Ubuntu16.04/NASM]
https://qiita.com/pollenjp/items/a13cd764cc739a0ca9df

30日でできる!OS自作入門(2日目)[Ubuntu16.04/NASM]
https://qiita.com/pollenjp/items/d15fce401bccd37e8059

30日でできる!OS自作入門(3日目)[Ubuntu16.04/NASM]
https://qiita.com/pollenjp/items/8fcb9573cdf2dc6e2668

30日でできる!OS自作入門(4日目)[Ubuntu16.04/NASM]
https://qiita.com/pollenjp/items/0847a633df112dbfa4ff

30日でできる!OS自作入門(5日目)[Ubuntu16.04/NASM]
https://qiita.com/pollenjp/items/d0f4e09a7fd50dfd58f5

「30日でできる! OS自作入門」をMac向けに環境構築する
https://qiita.com/tatsumack/items/491e47c1a7f0d48fc762

連結器(linker)

動的なリンカ
https://qiita.com/saikoro-steak/items/5d90ae34b61c16f6b3cf


10:53 | 投票する | 投票数(0) | コメント(0)
2018/07/30

つづき

Tweet ThisSend to Facebook | by kaizen

64bit CPU

64bit x86(Intel)

64ビット CPU の遊び方
https://qiita.com/tadnakam/items/4894ec3394ba57a8328a

strcmp をx64アセンブラで実装してみる
https://qiita.com/cirno999/items/6811c50f2c2e1518b468

x86-64プロセッサでGNU assemblerを使う
https://qiita.com/tobira-code/items/ac3169200160566c35af

x86-64プロセッサのスタックを理解する
https://qiita.com/tobira-code/items/75d3034aed8bb9828981

x86-64プロセッサでGNU assemblerを使う
https://qiita.com/tobira-code/items/ac3169200160566c35af

assemblyからhello world programを追いかける
https://qiita.com/knknkn1162/items/c67ae7c2ef71a713adf8

[ Windows ] 実行ファイルが32ビットか64ビットか確認する方法
https://qiita.com/oyan29/items/1f0b5d227765115b24f0

x64の関数呼び出し
https://qiita.com/FAMASoon/items/a93c1361f80bb28f895c

システムコールの呼び出し方メモ
https://qiita.com/kure/items/5a1a114f9a37aeab255c

独断と偏見によるx86命令拡張の印象
https://qiita.com/tanakmura/items/1af3ee8aeee6940d199b

arm64(ARM)

64bitは苦手。IntelでもArmでも、、、。

aarch64でEL (Exception Level)を変更する
https://qiita.com/eggman/items/e500ecb33f8f126c0052

arm64(aarch64)のLinuxカーネルをQEMU上でgdbデバッグする
https://qiita.com/takeoverjp/items/5df8e17f0c361ecd3563

Linux/arm64のブートプロセスについてのメモ
https://qiita.com/peo3/items/45063ab7ca27af69668b

ARM64のsemihosting機能をQEMU上で試してみる
https://qiita.com/takeoverjp/items/08fcfcac655c0b60931b

Raspberry Pi 3で FreeBSD(ARM64) を動かす
https://qiita.com/s_mitu/items/12aa53d534073489cabc

Raspberry Pi 3 で 公式 arm64 Debian を動かす
https://qiita.com/ysugi/items/04122e3b1792d872a182

@tkato さんからの紹介
 (Linux で Arm64 アセンブリプログラミング (00) https://www.mztn.org/dragon/arm6400idx.html)

(QEMU の Virtボード( AArch64対応Cortex-A53)で動作する SSPカーネルの依存部コード
http://dev.toppers.jp/trac_user/contrib/wiki/ssp_aarch64)

逆組立器(dis assembler)

生バイナリデータを逆アセンブル(IA-32,x64)
https://qiita.com/yohhoy/items/7d281f22ca439152ce12

dumpbin.exeで吐かれる逆アセンブルの結果を解析する
https://qiita.com/yumetodo/items/3c20f7c25eedbf41d63a

Haskellによる8086逆アセンブラ開発入門
https://qiita.com/7shi/items/026839b2bc193dbfb0cb

【解答例】Haskellによる8086逆アセンブラ開発入門
https://qiita.com/7shi/items/6d228b6fc4734f48a33e

複数の処理系で逆アセンブルして比較
https://qiita.com/7shi/items/d503c83c1befe1cdb284

密行列積演算高速化と科学計算ライブラリについて(objdump)
https://qiita.com/higucheese/items/062591dbad8d15cdef06

「項書き換え機能付きプログラム」のディスアセンブラの作成
https://qiita.com/kaizen_nagoya/items/8b8fe645b06bc7eccefb

リバースエンジニアリングへの道 @deta-mamoru 

リバースエンジニアリングへの道 - その1
https://qiita.com/deta-mamoru/items/5170f1b4ecab74b09c85

リバースエンジニアリングへの道 - その2
https://qiita.com/deta-mamoru/items/89528757351a43e32526#_reference-3b10d22cf38e9d1e75a7

リバースエンジニアリングへの道 - その3

https://qiita.com/deta-mamoru/items/d9f2c2de6072c5f8a292#_reference-141d7ffcd6a1a5499717

リバースエンジニアリングへの道 - その4
https://qiita.com/deta-mamoru/items/7e8071f0b8f57d09fe1b#_reference-f859d80834d2bd526f5a

バースエンジニアリングへの道 - その5
https://qiita.com/deta-mamoru/items/31fd5b5ddef2a74376d4#_reference-d4584059e1dad626e2f8

リバースエンジニアリングへの道 - その6
https://qiita.com/deta-mamoru/items/66c813aa9a77cd662500#_reference-d2210c7bee458f3db31a

リバースエンジニアリングへの道 - その7
https://qiita.com/deta-mamoru/items/e7b54392c60631b9dbcd#_reference-8ca64d95c67619235c8c

リバースエンジニアリングへの道 - その8
https://qiita.com/deta-mamoru/items/1e032d36b1edb1a69fd0#_reference-2869ffc12f781d03ad4e

リバースエンジニアリングへの道 - その9
https://qiita.com/deta-mamoru/items/7832af6c47359639df61#_reference-c82ddb91b0c7af384ac0

リバースエンジニアリングへの道 - その10
https://qiita.com/deta-mamoru/items/d9582d5c0d3fe7d61f85

除虫(debug)

YoctoベースのLinux上での統合開発環境を使ったデバッグ方法
https://qiita.com/ambai/items/85df065bc1d7706ab2fa

debug(MS-DOS 16bit)

MS-DOS 基本コマンド
https://qiita.com/timwata/items/8414f163607cc7aca473

debugコマンド(MS DOS)
https://qiita.com/kaizen_nagoya/items/31542d281d16d135df66

[スクリプト言語しか書けないあなたへ]FreeDOSとdebugコマンドで8086アセンブラ入門
https://qiita.com/usk83/items/c97066c3c663c5007658

MacintoshでMS-DOSのdebugコマンドの動作確認をするのにどうしたらいいか迷っていた。
https://qiita.com/kaizen_nagoya/items/206eb5b219f2b65514de

Win32アプリでx86命令を直接実行させる
https://qiita.com/gdrom1gb/items/acf1db020839df89e6e3

x86のデバッグレジスタを使ってみたらQEMUが固まる
https://qiita.com/kaityo256/items/73bfa919af1b8b6fd77b

gdb(GNU)

gdb超入門
https://qiita.com/miyagaw61/items/4a4514e2de0b458c2589

gdb-peda超入門
https://qiita.com/miyagaw61/items/248a486cca671686c58c

DockerをGDBでデバッグする
https://qiita.com/xylnao11/items/461d1d7908300041b26f

ESP32 を AE-FT2232 でつないで OpenOCD+GDBでデバッグ
https://qiita.com/rukihena/items/d530e2751cb258b4eab3

gdb リモートデバッグ @tetsu_koba 

組み込みLinuxでリモートデバッグするときのgdbのセットアップ方法
https://qiita.com/tetsu_koba/items/72361225f759122dcd57

gdbのリモートデバッグのextended-remoteモードを試す(1)
https://qiita.com/tetsu_koba/items/edaf8a5bcdd36d677c1c

gdbのリモートデバッグのextended-remoteモードを試す(2)
https://qiita.com/tetsu_koba/items/dd7c5a0beb7a8742d875

gdbのリモートデバッグのextended-remoteモードを試す(3)
https://qiita.com/tetsu_koba/items/ebbac47e3fb43c86f412

ARM Linuxのリモートデバッグ用にgdb 8.0.1 をソースからビルドする
https://qiita.com/tetsu_koba/items/ddf93510b1f0997a8cd2

Eclipse debugger

Eclipse CDT での Debugger [忘備録]
https://qiita.com/t-tkd3a/items/39d9f9f64b6707332cbd

Eclipse debug 起動時エラー
https://qiita.com/kws9/items/2b54b757473dcfa1995a

Eclipse CDT で log4cppのサンプルコードをデバッグしてみる
https://qiita.com/0ashina0/items/0c0e6321852cf85bf885

EclipseでクロスコンパイルしてリモートのRaspberry Piで動かす
https://qiita.com/kazz12211/items/23cd36b5aaf7322417c0

組立器(Assembler)

nasm(Netwide Assembler)

アプリケーションエンジニアのための低レイヤ入門
https://qiita.com/nirasan/items/3222827f1330a00f184c

nasmでprintf関数を使う
https://qiita.com/akakou/items/b3279b2de09b62261b7e

nasmで1~100まで数える
https://qiita.com/akakou/items/fb42e0dbfe9e5dc0a588

WindowsでNASMを使ってアセンブラを動かしてみる
https://qiita.com/0gajun/items/e772e1223f6e596eb362

書籍「低レベルプログラミング」アセンブリ実行 Docker 環境の構築
https://qiita.com/nirasan/items/0cd03c24a8e6d0e5f8be

アセンブリ言語でHello, World!
https://qiita.com/naoyoshinori/items/fb958e3c914c56baef40

[NASM/YASM] 4オペランドFMA命令を3オペランドに置き換えるマクロ
https://qiita.com/Seizh/items/070d29879037cb3faf41

64bitのOS + C言語でライブラリを使わずにHello Worldをしてみた
https://qiita.com/Juju_62q/items/2f4611461431a1110736

hello world Programの実行命令をバイトコードで確認する
https://qiita.com/knknkn1162/items/bea6d06d6b6009a9773d

masm(macro assembler: Microsoft)

Assembly code and Assembler on Windows 10. Windows 10でアセンブリ+ラして実行形式.exeを作成方法.
https://qiita.com/hogehoge990/items/6804b78770c247e32856

ズンドコキヨシ with MASMマクロ
https://qiita.com/fujitanozomu/items/9473ea40a61266588487

ズンドコキヨシ with x86アセンブラ
https://qiita.com/fujitanozomu/items/3fe0c5153c38920aaba1

mac(apple)

Macでx86アセンブリ入門してみた
https://qiita.com/edvakf@github/items/1ae777fd7f5222b7c363

Mac でアセンブリを書いてみる
https://qiita.com/dora-gt/items/889a564ebd682fbe4257

Xcodeでx86アセンブリを書く
https://qiita.com/edvakf@github/items/39866dc891b94d22b7cb

Mac OSX Mountain Lion で 64bit(x86-64) アセンブリ言語の HelloWorld プログラム
https://qiita.com/donalsea/items/b7ed1c9feef1b570a6b9

Mac OSX の x86-64 のアセンブリ言語で,libc の puts 関数を呼び出すプログラム
https://qiita.com/donalsea/items/d393c6e2ac805016ee94

Clang初級
https://qiita.com/megane814/items/ef3f4f44eae31e0560a0

With C/C++

インラインアセンブラの読み方
https://qiita.com/yutakakn/items/8c1d06ffc079f55e7158

ちょっとだけアセンブラを触ってみる
https://qiita.com/edo_m18/items/095ca7c4a7c9b658ba37

C++の参照渡しとCのポインタの値渡しの違いをマシン語で比較してみた結果
https://qiita.com/tajima_taso/items/a62747739deee88078da

C言語のアセンブリ言語コード化〜直観編
https://qiita.com/zacky1972/items/86741d1ac6939795784f

アセンブリ言語のさわりを知ればC言語のポインタもわかるよね、という話
https://qiita.com/atworks/items/17da1973378a626e6467

c++とアセンブリ言語で画像を反転させてみる
https://qiita.com/wf9a5m75/items/a519d0f82fe1484179c5

インテルコンパイラで対応していない命令セットの組み込み関数を使った場合のアセンブリ
https://qiita.com/kaityo256/items/7da336428b81d8d8bf3b

IchigoJam で BASIC と C とアセンブラ速度比較と最適化あそび
https://qiita.com/fujitanozomu/items/a3473cf49d641e4a29d1

システムコールの呼び出し方メモ
https://qiita.com/kure/items/5a1a114f9a37aeab255c

Byte swapping(エンディアン変換)を理解する
https://qiita.com/tobira-code/items/a03f39a02678d80bbd26

with Haskell

Haskellにインラインアセンブリを書く
https://qiita.com/tanakh/items/08c15f6e72dbe2da61a8



10:52 | 投票する | 投票数(0) | コメント(0)
2018/07/30

つづきの2

Tweet ThisSend to Facebook | by kaizen


パタ・ヘネ

演習問題解答案(第4章プロセッサ) パタヘネ: コンピュータの構成と設計 5th
https://qiita.com/takata150802/items/6a991e570053bcb1d701

演習問題解答案(第5章容量と速度の両立:記憶階層の利用) パタヘネ: コンピュータの構成と設計 5th
https://qiita.com/takata150802/items/add9f339266244989261

LLVM IR

Ruby -> Julia -> LLVM IR -> たのしい
https://qiita.com/remore/items/40bcea76d14b39f8103f

PythonでLLVM IRを出力してみた
https://qiita.com/ksakiyama134/items/77c0401126cb373b2830

LLVMに実行可能コードの生成をまかせたい
https://qiita.com/k2ymg/items/653c5b22b74a091be604

Orelang(俺言語) の LLVM IR コンパイラを作ってみた
https://qiita.com/soramimi_jp/items/b7a0a9de381f3c320fe6

bitcode

LLVM bitcode基礎知識
https://qiita.com/gamako/items/f37dbb05de9d3832ce6b

Xcode7でのembed-bitcodeオプション
https://qiita.com/gamako/items/4ebfd048c5aed4f68595

XcodeでArchive以外のビルド結果にはbitcodeが埋め込まれない
https://qiita.com/gamako/items/66d3a8164678e525a26e

[iOS]bitcode対応のlibrary/frameworkを作成する
https://qiita.com/noir/items/e2f4a3c5ea88a2677846

Bitcodeを有効にしたらCrashlyticsでmissing dSYMsと表示される
https://qiita.com/monoqlo/items/59c304672304a0b94c86

Bitcode対応版Google Analytics SDKをCocoapodsで入れる方法
https://qiita.com/Apuruny/items/9cf7ca083f2fb949ea9f

invalid bitcode signatureの対処法
https://qiita.com/miutex/items/d50bae8cd472738d2562

Xcode7でbitcodeのエラーが出た
https://qiita.com/imanishisatoshi/items/8b64af8262d7fe2eb2ba

WebAssembly

WebAssemblyが熱い
https://qiita.com/kenju/items/3ec95aebd30bc95b862c

ゼロからはじめるWebAssembly入門(2017/01更新)
https://qiita.com/OMOIKANESAN/items/1ffc06ef6283befc4355

WebAssemblyを使ってみる(C/C++をWebAssemblyに変換してChromeで実行)
https://qiita.com/Hiroki_M/items/89975a9e8205ced3603f

【2017年4月版】WebAssemblyとは?〜実際にC言語をブラウザで動かす〜
https://qiita.com/umamichi/items/c62d18b7ed81fdba63c2

サクッと Go → WebAssembly を試す
https://qiita.com/cia_rana/items/bbb4112b480636ab9d87

なぜWebAssemblyはasm.jsより速いのか
https://qiita.com/chikoski/items/cd59df64b4d820125864

node v8.0.0でWebAssembly試してみる
https://qiita.com/ukyo/items/996ab5087b63f1798029

WebAssemblyで実装された仮想DOM asm-dom でWeb Componentsを使ってみた
https://qiita.com/kwst/items/1571c6302bb6160d9b51

WebAssemblyで実装された仮想DOM asm-dom をさわってみた
https://qiita.com/kwst/items/e8a2505ec20c5021087b

WebAssemblyを試してみた
https://qiita.com/pnlybubbles/items/0410e978afce647cf0b6

Emscriptenで過去に作った物をwasm対応して性能比較してみた
https://qiita.com/toyoshim/items/e714cb4d00eace2f4d97

WebAssembly事始め(Chrome57記念)
https://qiita.com/ymtszw/items/5b7503b1b550f352ea8a

Julia で WebAssembly
https://qiita.com/yasudakinenbi/items/545c283d83c04d1f9a32

MacOSXでWebAssemblyを触ってみた
https://qiita.com/rsnni/items/c795e0b80d40e6f17ecd

Rust

Rust+WebAssemblyの超速フロントエンドフレームワークYewを15分くらいで味見
https://qiita.com/saturday06/items/2e9c6d3ad1fd0b64465c

Rust + Elm + JSX + WebAssembly = Yew
https://qiita.com/akira_/items/2fef8ec65d32193a1987

Rust&C++混成プロジェクトをネイティブとWebAssembly両方へビルドする
https://qiita.com/_likr/items/2a3ff242d9bf3c11e9f7

Rustで書いたWebAssemblyに文字列を渡すときにUTF16, UTF8, StringBuilderのどれが速いか計測してみた(ついでにNative RustとWebAssemblyの速度差も調べた)
https://qiita.com/garagara/items/0562ee5a85db5aeeb6b4

RustでWebAssemblyのライブラリを作るときは配列を引数にとらないように気をつけよう
https://qiita.com/garagara/items/a9307201f3fdaacacd1e

rustからWebAssemblyへコンパイル
https://qiita.com/tkyk0317/items/44e8121e9c47abae0fd0

by GO

プログラミング言語の作り方 〜 Go によるアセンブラ、バーチャルマシン、コンパイラの実装
https://qiita.com/nirasan/items/cb1f79955f31c45c6658

by python

pythonでx86コンパイラ自作
https://qiita.com/s0sasaki/items/0b0d96838685fa290126

pythonでx86コンパイラ自作(スタック指向言語編)
https://qiita.com/s0sasaki/items/3651837a9a52f20ce2c6#_reference-fe4b65d00a02d3eae1ac

stack machine

stack machine アセンブラ
https://qiita.com/ohisama@github/items/da1163f229d30f8e260e
 stack machine アセンブラ その2
https://qiita.com/ohisama@github/items/7d90e12699b5aeabdfad
 stack machine アセンブラ その3
https://qiita.com/ohisama@github/items/40d82a89d08264bd1809


中央処理装置(CPU: central processing unit)・論理回路

CPU基礎

CPUのはなし
https://qiita.com/anonimeco/items/3acf89ceded53bb12f84

コンピュータの基本構成と動作原理〜知識編https://qiita.com/zacky1972/items/ef4486e8a6d95edb68fd

CPUの処理性能を表す数値についてまとめてみた
https://qiita.com/manabu013/items/b6b1028f113b8504e3a9

CPUの処理速度を表す単位をなんとなく理解する
https://qiita.com/salmonosushi/items/8f959d3cddc9cc5131f7

ハードウェアに関する基本的な用語
https://qiita.com/pocket8137/items/ed459d771a645d022e84

CPUの挙動について
https://qiita.com/kuronekodaisuki/items/532f74c28b2181dd8808

素人が作る超基本CPU@Verilog w/Vivado
https://qiita.com/arutema47/items/40dc748e349c30d7194a

CPU のモード
https://qiita.com/timwata/items/b70a81e46e7704edbf8d

CPUの処理速度を表す単位をなんとなく理解する
https://qiita.com/salmonosushi/items/8f959d3cddc9cc5131f7

CPUのベンチマーク SPEC CPU2006の見方
https://qiita.com/s2maeda/items/b07364fd94fbd3ac0ef4

今さらなぜCPUエミュレータを自作しようとおもったのか?
https://qiita.com/kanetugu2018/items/d692e612c3d4d715c0ad

GPU

Linux(Ubuntu) + GPU エラーメッセージ集
https://qiita.com/syoyo/items/0707daed0295db6a3ffa

GPUサーバの利用
https://qiita.com/KI1208/items/0f57f0e742cf206468b6

GPUマシンのセットアップ(Ubuntu)
https://qiita.com/o__mura/items/d16b540dae557f2b7808

GPUの使用状況を知る(Ubuntu14, Cuda7)
https://qiita.com/gunn/items/e3acd83a2bc6dc76de95

GPU関連でよく使うコマンドまとめ
https://qiita.com/sao_rio/items/4ef5604d685f04669f74

GPU紹介・比較等

【TensorFlow】 CPUとGPUの速度比較
https://qiita.com/guitar_char/items/1ff037bd1455a64d6d05

CPUかGPUか専用回路か
https://qiita.com/nonbiri15/items/bbc97f92cb108646bc0b

[Note] Foundation for GPU Computing
https://qiita.com/Rowing0914/items/59112d8b992156eaceef

GPU マイニングをはじめて 1 年経ったので振り返る(2018 年 4 月 20 日)
https://qiita.com/syoyo/items/b549c33552fd169f0ca6

MackerelでローカルマシンのGPU負荷を監視する
https://qiita.com/sabaku20XX/items/9e37760e9bada1b4c491

ゆめりあGPUベンチ結果一覧
https://qiita.com/Yanorei32/items/0d49407f21388bc584d9

NVIDIA Teslaスペック
https://qiita.com/yukoba/items/10d0ba3fb1d19a6ab6a5

GPUの性能をベンチマーク
https://qiita.com/MahoTakara/items/3895ab4f3593c68e52a0

Google ColaboratoryのGPU速度比較メモ
https://qiita.com/samacoba/items/78df1077e07b8f1bc364

コンピュータの動作原理 by @niQSun 

コンピュータの動作原理(0)
https://qiita.com/niQSun/items/91396b620638e3f44f19

コンピュータの動作原理(1)概要
https://qiita.com/niQSun/items/2db8859b89f57ab5c019

コンピュータの動作原理(2)論理GATEを作る ーMOSFETの動作ー
https://qiita.com/niQSun/items/251e5824c70724a7d2c0

コンピュータの動作原理(3)真理値表と論理回路
https://qiita.com/niQSun/items/5502286ce77ceb0c2d88

コンピュータの動作原理(4)減算回路
https://qiita.com/niQSun/items/220215cbc3d298e07487

コンピュータの動作原理(5)順序回路
https://qiita.com/niQSun/items/8d5959f83a44b16d9cd4

コンピュータの動作原理(6)8ビットプロセッサP08:前編
https://qiita.com/niQSun/items/4d92eab8cce210db4b77

コンピュータの動作原理(7)8ビットプロセッサP08:後編
https://qiita.com/niQSun/items/f4b54136e8b65a32ffb0

コンピュータの動作原理(後書き)
https://qiita.com/niQSun/items/038e7a0e7f56eb81aaf9

CPUの創り方

Verilog-HDLで書かれた4bit 「CPUの創りかた」が推しです。CPUの歴史を辿り、4bit, 8 bit, 16bit, 32bit, 64bitとだどりる出発点として4bit CPUを学ぶ時間があると知識と経験がうまく組み合わさって体系的になります。FPU, DSP, FPGA, GPUの理解にも役立つかも。

FPGAでTD4(4bitCPU)を作ってみた
https://qiita.com/oskimura/items/83b0173bd11ef773ea84

CPUの創り方 @eijian 

CPUの創りかた(1): 基本論理回路の定義など
https://qiita.com/eijian/items/d721a146fa46e5877225

CPUの創りかた(2): decorderとmultiplexer
https://qiita.com/eijian/items/6191feebae21ad10a5b1

CPUの創りかた(3): ROMをつくる
https://qiita.com/eijian/items/1c5cbc1aa302ea7f0312

CPUの創りかた(4): Flip Flop
https://qiita.com/eijian/items/1b092a05e73fc372271f

CPUの創りかた(5): 4 bitレジスタ
https://qiita.com/eijian/items/7150182c420d98650e72

CPUの創りかた(6): プログラムカウンタ
https://qiita.com/eijian/items/a2d255bbf0fc2dee08cc

CPUの創りかた(7): 加算器を作る
https://qiita.com/eijian/items/306f42c5c1e4d3c37ec8

CPUの創りかた(8): すべては足し算だった
https://qiita.com/eijian/items/0e53963365166dd3720b

CPUの創りかた(9): CPUはじめました
https://qiita.com/eijian/items/2b9d2ef9adac09e13382

CPUの創りかた(10): おまけ、アセンブラ
https://qiita.com/eijian/items/8fb1a0c98e9715a6f5a8

論理回路

RTL設計スタイルガイド Verilog HDL編(System Verilog対応版)
https://qiita.com/kaizen_nagoya/items/4c02f1575db1f28310a7

FPGA と Verilog HDL
https://qiita.com/kaizen_nagoya/items/6db0b65fb1c227722660


10:50 | 投票する | 投票数(0) | コメント(0)
2018/07/30

つづきのつづき

Tweet ThisSend to Facebook | by kaizen

応用(application)

Capture the flagのススメ -超初心者向けバイナリ解析- その1
https://qiita.com/ebonight/items/85e005a11deb59759fe6

VZエディタ移植に当たって実施したことと成果
https://qiita.com/kaizen_nagoya/items/5551be98dcbed8f41949

ステッピングモーターをDCモーターの様に扱うモジュール
https://qiita.com/ohisama@github/items/bb22e55bcfff19ae570e

電動機制御算譜(プログラム)設計における3つの罠6つの教訓(実機)
https://qiita.com/kaizen_nagoya/items/b39b6b7ba0d90dff471d

TOPPERS活用アイデア・アプリケーション開発コンテスト

TOPPERS活用アイデア・アプリケーション開発コンテスト
https://www.toppers.jp/contest.html

の応募作品の中のアセンブラ関連記述。(応募者のソースだけではなく、応募者が利用したオープンソース中のソースコードを含む)

TOPPERS活用アイデア・アプリケーション開発コンテスト受賞作品紹介(1) 第一回(2011)アプリケーション開発部門銀賞『Natural Tiny Shell Task』中村晋一郎
https://qiita.com/kaizen_nagoya/items/763209c213e3c0daee10

$ grep -r asm *
sample/target/nxp-lpc824/lpc_chip_8xx/inc/core_cmFunc.h:  /* Empty asm statement works as a scheduling barrier */
sample/target/nxp-lpc824/lpc_chip_8xx/inc/core_cmFunc.h:  /* Empty asm statement works as a scheduling barrier */
sample/target/nxp-lpc824/lpc_chip_8xx/inc/core_cm0plus.h:  #define __ASM            __asm                                      /*!< asm keyword for ARM Compiler          */
sample/target/nxp-lpc824/lpc_chip_8xx/inc/core_cm0plus.h:  #define __ASM            __asm                                      /*!< asm keyword for IAR Compiler          */
sample/target/nxp-lpc824/lpc_chip_8xx/inc/core_cm0plus.h:  #define __ASM            __asm                                      /*!< asm keyword for GNU Compiler          */
sample/target/nxp-lpc824/lpc_chip_8xx/inc/core_cm0plus.h:  #define __ASM            __asm                                      /*!< asm keyword for TASKING Compiler      */
sample/target/nxp-lpc824/lpc_chip_8xx/.cproject:                <option id="gnu.both.asm.option.flags.crt.633333627" name="Assembler flags" superClass="gnu.both.asm.option.flags.crt" value="-c -x assembler-with-cpp -D__REDLIB__ -DDEBUG -D__CODE_RED" valueType="string"/>
sample/target/nxp-lpc824/lpc_chip_8xx/.cproject:                <option id="gnu.both.asm.option.flags.crt.771165364" name="Assembler flags" superClass="gnu.both.asm.option.flags.crt" value="-c -x assembler-with-cpp -D__REDLIB__ -DNDEBUG -D__CODE_RED" valueType="string"/>
sample/target/nxp-lpc824/lpc_monitor/.cproject:                 <option id="gnu.both.asm.option.flags.crt.985941222" name="Assembler flags" superClass="gnu.both.asm.option.flags.crt" value="-c -x assembler-with-cpp -DDEBUG -D__CODE_RED -DCORE_M0PLUS -D__USE_ROMDIVIDE -D__USE_LPCOPEN -DNO_BOARD_LIB -D__LPC82X__ -D__REDLIB__" valueType="string"/>
sample/target/nxp-lpc824/lpc_monitor/.cproject:                 <option id="gnu.both.asm.option.include.paths.1633285852" name="Include paths (-I)" superClass="gnu.both.asm.option.include.paths" valueType="includePath">
sample/target/nxp-lpc824/lpc_monitor/.cproject:                 <option id="gnu.both.asm.option.flags.crt.1239342916" name="Assembler flags" superClass="gnu.both.asm.option.flags.crt" value="-c -x assembler-with-cpp -DNDEBUG -D__CODE_RED -DCORE_M0PLUS -D__USE_ROMDIVIDE -D__USE_LPCOPEN -DNO_BOARD_LIB -D__LPC82X__ -D__REDLIB__" valueType="string"/>
sample/target/nxp-lpc824/lpc_monitor/.cproject:                 <option id="gnu.both.asm.option.include.paths.704835887" name="Include paths (-I)" superClass="gnu.both.asm.option.include.paths" valueType="includePath">
sample/target/acb-bf592/chip.c:    asm("cli r0; csync; idle; sti r0;": : :"R0");
                

TOPPERS活用アイデア・アプリケーション開発コンテスト受賞作品紹介(2)第一回(2011)アプリケーション開発部門金賞インテリジェント・チョロQコントローラ/TOPPERS/JSP, 山浦幹,(有)シンビー
https://qiita.com/kaizen_nagoya/items/6cd60e41bcad663c0364

grep
 
$grep-r asm *
OBJF/sample1.h:#define RAISE_CPU_EXCEPTION  __asm__(".hword 0x0006")
OBJF/sample1.h:#define RAISE_CPU_EXCEPTION  #define RAISE_CPU_EXCEPTION __asm__( ".hword 0x0006" )
OBJF/sample1.h:#define RAISE_CPU_EXCEPTION  #define RAISE_CPU_EXCEPTION asm("   int #32") /* ソフトウェア割込み発生 */
                

TOPPERS活用アイデア・アプリケーション開発コンテスト受賞作品紹介(4)第三回アプリケーション開発部門銅賞 lwIP の移植 松浦 光洋(個人)
https://qiita.com/kaizen_nagoya/items/657ce065ba108f1b98fe

$ grep -r asm *
*** 一部略 ***
src/eth/encx24j600/Helpers.c:// Hi-Tech PICC18 cannot access local function variables from inline asm.
src/eth/encx24j600/Helpers.c:       asm("movlb (_toRotate)>>8");
src/eth/encx24j600/Helpers.c:       //asm("bcf _STATUS,0,C");
src/eth/encx24j600/Helpers.c:       asm("bcf 0xFD8,0,C");       // HI-TECH PICC-18 PRO 9.63PL1 doesn't define _STATUS
src/eth/encx24j600/Helpers.c:       asm("btfsc (_toRotate)&0ffh+3,7,B");
src/eth/encx24j600/Helpers.c:       asm("bsf 0xFD8,0,C");       // HI-TECH PICC-18 PRO 9.63PL1 doesn't define _STATUS
src/eth/encx24j600/Helpers.c:       asm("rlcf (_toRotate)&0ffh+0,F,B");
src/eth/encx24j600/Helpers.c:       asm("rlcf (_toRotate)&0ffh+1,F,B");
src/eth/encx24j600/Helpers.c:       asm("rlcf (_toRotate)&0ffh+2,F,B");
src/eth/encx24j600/Helpers.c:       asm("rlcf (_toRotate)&0ffh+3,F,B");
src/eth/encx24j600/Helpers.c:       _asm
src/eth/encx24j600/Helpers.c:       _endasm
                

算譜(source code)

CASL

node-casl2-comet2/node-casl2
https://github.com/node-casl2-comet2/node-casl2

matsutomu/ScaCASL2-ScaCOMET2
https://github.com/matsutomu/ScaCASL2-ScaCOMET2

TD4

CPLD with Verilog (2004)
http://geodenx.blogspot.com/p/cpld.html
https://github.com/geodenx/td4

https://github.com/eijian/mkcpu

FPGAでTD4(4bit CPU)を作る
http://szty1012.hatenablog.com/entry/2017/10/06/artix7-4bit-cpu

参考資料(reference)

書籍(book)

コンピュータの構成と設計 第5版 上・下 パターソン ヘネシー
https://www.amazon.co.jp/dp/B01M5FMGDL/

コンピュータアーキテクチャ 定量的アプローチ 第5版  ヘネシー パターソン
https://www.amazon.co.jp/dp/B00SF6JN7M/

CPUの創りかた 渡波郁
https://www.amazon.co.jp//dp/4839909865/

31バイトでつくるアセンブラプログラミング ~アセンブラ短歌の世界 坂井弘亮
https://www.amazon.co.jp/dp/B00ICKLC2U/

大熱血-アセンブラ入門-坂井弘亮
https://www.amazon.co.jp/dp/4798051543/

(大熱血!アセンブラ入門 サポートページ
  http://kozos.jp/books/asm/)

リンカ・ローダ実践開発テクニック―実行ファイルを作成するために必須の技術-COMPUTER-TECHNOLOGY 坂井弘亮
https://www.amazon.co.jp/dp/4789838072/

0と1のコンピュータ世界-バイナリで遊ぼう! 坂井弘亮
https://www.amazon.co.jp/dp/B00JTQM798/

12ステップで作る組込みOS自作入門 坂井弘亮
https://www.amazon.co.jp/dp/4877832394

31バイトでつくるアセンブラプログラミング ~アセンブラ短歌の世界~
 坂井弘亮, 愛甲健二, 松田和樹, 坂井丈泰, 竹迫良範
https://www.amazon.co.jp/dp/B00ICKLC2U

(参考URLアセンブラ短歌 http://kozos.jp/asm-tanka/)

30日でできる-OS自作入門 川合秀実
https://www.amazon.co.jp/dp/4839919844/

Code Complete
https://www.amazon.co.jp/dp/B01E5DYK1C/

参考資料 on Qiita

名古屋のIoTは名古屋のOSで(TOPPERS まとめ)
https://qiita.com/kaizen_nagoya/items/9026c049cb0309b9d451

量子コンピュータプログラムへの道
https://qiita.com/kaizen_nagoya/items/37c90488c87bbe9f2d71

「ゼロから作るDeep Learning 2自然言語処理編」読書会に参加する前に読んで置くとよい資料とプログラム
https://qiita.com/kaizen_nagoya/items/537b1810265bbbc70e73

C言語(C++)に対する誤解、曲解、無理解、爽快。
https://qiita.com/kaizen_nagoya/items/3f3992c9722c1cee2e3a

追伸(post script)

私が、電総研(現在の産総研)の言語研究室に研修生としていた時、
 OBJという抽象データ型言語の論文を読んでいて、
 「私はアセンブラは得意だけどLISPは苦手だ」
 と言った時、「LISPはアセンブラだ」
 という助言をいただきました。

Lispチップでは、LISPはアセンブラで、
 アセンブラはCPUの構造に依存しているものだと。

現在、量子コンピュータの開発競争が急激に進んでいます。
 勝者は応用領域に特化した言語の提案者か、
 量子コンピュータに特化したアセンブラの開発者かもしれません。

量子コンピュータの応用領域の一つに遺伝子解析、遺伝子機能解析を想定しています。
 遺伝子は組立語(assembler)です。解読に確率を用いるだけでなく、機能の発現の仕組みにも統計と確率を駆使すると良いかもしれません。

アセンブラの概念を狭く理解するのではなく、
 新しい計算機の原理を促す一つの道具だと理解するのはどうでしょう。

確率や論理から入って計算機の新しい原理を追求するか、
 言語仕様から入って新しい計算の仕組みを提供するか。

算譜(source code)の例を4bit CPUと CASLIIだけにしているのは、
 アセンブラへの2つの入り口を示し、出口は自分で作って欲しいという意図です。

それがお金になるかどうかは、例えば10年後の話かもしれません。

心より、計画者(programmer)のために



https://qiita.com/kaizen nagoya/items/46f2333c2647b0e692b2


10:49 | 投票する | 投票数(0) | コメント(0)
2018/07/30

Qiita で組立語(assembler)・機械語(machine language)・CPU <アセンブラへの道>, 小川清, 2018,

Tweet ThisSend to Facebook | by kaizen
 Qiita で組立語(assembler)・機械語(machine language)・CPU <アセンブラへの道>, 小川清, 2018,
247

前書き(preface)

計画(program)を記述する人が、計画者(programmer)です。
 計算機計画者(computer programmer)は、ここでは計算機の実行計画(programming)であるか、計算機そのものの計画(program)であるかを問いません。計算機の計画を考える一つの切り口が組立語(assembler)。

アセンブラ入門への入り口, 2012
https://researchmap.jp/jowkoc1zp-45644/
 という記事を書いたが、その後、迷走している。現在記事をQiitaに書き換え中。
https://qiita.com/kaizen_nagoya/items/0bf939143593fbb7114a

目的(purpose)

Qiitaの組立語(assembler)の記事が少ないのを嘆くのではなく、
 組立語(assembler)に関するどういう記事を掲載すると、
 抜け漏れなく、組立語(assembler)に関する情報提供ができるかを確認する。

成果(outcome)

10(20180708達成済) 20(20180715達成済)30以上のCPU(仮想CPUを含む)の組立語(assembler)、組立語(assembler)に関する10以上の視点が提供できるまで一覧を作り、ないものは記事も書く。記事数が100(20180704到達済) 200(20180711到達済)1000になるまで収集する。

要請(pressing)

6809, 68K, SPARC, PIC, CAP-Xに関する組立語(assembler)・機械語(machine language)視点でのQiitaでの記述が見当たっていません。これがそうだよというものをお知らせくださると幸いです。

20180716追記:MC6809, 68000, SPARC, PIC,のQiita記事を仮置き。まだ試験も模擬試験もしていません。どなたかが、試験または模擬試験結果を掲載してくださると幸いです。

20180716追記
 CAP-X, H8, M16C, SHの記事を仮置き。

理由(reason)

アセンブラを学ぶ理由はいくつかある。

0)「単純に楽しいから学ぶのだ」
 0と1のコンピュータ世界 バイナリで遊ぼう! 坂井弘亮, 坂井丈泰, 愛甲健二, 竹迫良範, 松田和樹,マイナビ, 2014, p.236
https://www.amazon.co.jp/dp/4839951020

坂井弘亮さんのアセンブラのセミナ等での発言だけでなく、OSC北海道での受講された若いからの口からも「すごく面白かった」と。

1)コンパイラを作る
 2)CPUの機能を生かしたOSを作る
 3)セキュリティの課題、技術を確認する
 4)システムの保守・運用時のパッチ当て
 5)新しいCPUを設計する
 6)ソフトウェアの高速化、省容量化の検討

経路(route)

アセンブラを学ぶのに、いくつか経路を想定する。
 1)「CPUの創り方」から「パタ・ヘネ」「ヘネ・パタ」
 2)「CASLII」から「Code Complete」
 3)今使っているPCのCPU(Intel or ARM)から
 4)今使っている言語で、アセンブラ、CASLIIのシミュレータ等を作る
 5)通信系の高速化、省容量化
 6)電動機(motor)などの高速化、省容量化

鍵語(keyword)

組立語(assembler) アセンブリ アセンブリ言語 機械語(machine language) 逆組立(disassemble) デバッガ 連結器(linker) ロケータ  装置運転者(device driver) 起動処理(boot) CPU FPU GPU DSP 論理回路(logical circuit)

視点(view point)

(0)16進数(hexadecimal number)8進数(octal number), 2進数(binary number)
 (1)機械語(machine language)
 (2)組立語(assembler)
 nasm, masm, gas...
 (3)除虫(debug)
 debugなど
 例:debugコマンド(MS DOS)
https://qiita.com/kaizen_nagoya/items/31542d281d16d135df66
 (4)逆組立器(dis assembler)
 例:「項書き換え機能付きプログラム」のディスアセンブラの作成
https://qiita.com/kaizen_nagoya/items/8b8fe645b06bc7eccefb
 (5)連結器(linker)、配置器(locator)
 (6)C/C++との連携
 (7)OS, カーネルでの利用
 TOPPERSなど
 例:TOPPERS/SSPカーネルソース勉強会(1) start.S
https://qiita.com/kaizen_nagoya/items/fa0d482bfaacf37dbe62
 (8)アセンブラで書いた道具(tool)類(OS,カーネルを除く)
  VZなど
 例:VZエディタ移植(porting)に当たって実施したことと成果
https://qiita.com/kaizen_nagoya/items/5551be98dcbed8f41949
 (9)アセンブラを書くための道具類(アセンブラ、ディスアセンブラ、リンカ、ロケータを除く)
 (10)応用(application)
 例:電動機制御(motor controll)算譜設計(program design)における3つの罠6つの教訓(実機)
https://qiita.com/kaizen_nagoya/items/b39b6b7ba0d90dff471d
 (11) 中央処理装置(central processing unit)
 x86,x86-64, arm, arm64, caslII, avr. 8080, z80, pdp11, powerpc, mips, S/390

(12) 論理回路(logic circuit), Verilog-HDL, VHDL
 例:RTL設計スタイルガイド Verilog HDL編(System Verilog対応版)
https://qiita.com/kaizen_nagoya/items/4c02f1575db1f28310a7

背景(back ground)

プログラミング言語教育のXYZ
https://qiita.com/kaizen_nagoya/items/1950c5810fb5c0b07be4
 プログラミング言語教育のXYZ(youtube)
https://www.youtube.com/watch?v=He1_tg4px-w&t=486s
 で、アセンブラが得意と言った割に、アセンブラの記事を書いてないことに気が付いた。調べて見るとQiitaでアセンブラの記事が少ないことに驚いて整理し始めました。

覚書(note)

略号のfull spellは、語源を知る上で付記。現在有効でない場合もある。
 より良い略号のfull spell提案は歓迎。このfull spellは有効でないというだけの言及には対応できません。ごめんなさい。

組立語、機械語 Qiita記事 略号、訳語一覧
https://researchmap.jp/johmnxgin-1778110/#_1778110

入門(introduction)

基礎からやりなおしメモ 【アセンブラ/CPUの挙動】
https://qiita.com/yuri_RN/items/e4a0849e8d0bbd7ac87b

註釈(comment)
遠山ー>演算
 CPU内にはー>XXXというCPUには
 「(5)命令の実行」ー>「(5)命令の実行」「(6)命令結果の格納」
 「アセンブラはレジスタとメモリの間で行われるデータのやり取りを捜査する。」ー>
 「機械語はレジスタとメモリの間で行うデータのやり取りを(20180717修正済)操作する。」(20180719修正済)

ざっくりアセンブラ入門
https://qiita.com/kazukichi/items/201b0c7fdf3d3aa576c7

感想(impression):
 「ハーバード型では、プログラム(命令)を格納するメモリとデータを格納するメモリが別になっている。
 家に冷蔵庫が2つある感じ。」に違和感。プログラムを格納するメモリは、項書き換えプログラムでない場合には出すだけで入れない。データは出し入れするので冷蔵庫の比喩は妥当。

組み込み開発においてインラインアセンブラを挿入する際の2つの落とし穴
https://qiita.com/moricy/items/1c94f95fbbf9a90c7b3a

記録(record):
 どのCPUのアセンブラかの記載がない。

いまどきのプログラマーがアセンブリを学ぶ意味ある?
https://qiita.com/Nekonecode/items/6819914396db9c925d47

覚書(notes):
 ハードウェアの不具合があった時、ソフトウェアの不具合があった時、機械語またはアセンブラがわかっていれば、切り抜けられることがある。(後日整理予定)

16進数(hexadecimal number),8進数(octal number), 2進数(binary number)

機械語命令を16進数表示することがあります。
 それに対して、アセンブラは意味のある文字列に置き換えたものです。
 アセンブラでも、データ部分は16進数で表現することが多くあります。
 そこで、十16進数に馴染むことは、機械語、アセンブラ理解の助けとなるでしょう。

2進数10進数16進数
https://qiita.com/inabe49/items/805c2d2bcd9e70c37ef6

長いビット列を16進数にする
https://qiita.com/tobira-code/items/b232ec35a28d3065f151

16進数と10進数の変換
https://qiita.com/roppy/items/54738fc42298b57703af

論理回路の基礎 #1デジタル信号の基礎
https://qiita.com/Taira815/items/2991f9087a0efd197271

2進数・8進数・10進数・16進数の相互変換についてまとめてみた
https://qiita.com/manabu013/items/2ef474f5ecfe8e02ae06

10進数の数値を 2進数、8進数、16進数の文字列に変換 - Scala -
https://qiita.com/takuya71/items/abe75c9a4937dab9bb7c

10進数の数値を 2進数、8進数、16進数の文字列に変換 - Ruby -
https://qiita.com/takuya71/items/a16af302ee2f534e8fc5

機械語(machine languate)

機械語
https://qiita.com/yanap/items/7c56386b1582e19823d1

PC-88 機械語で文字出力
https://qiita.com/Stosstruppe/items/1a1c07782d32ed3349fb

機械語 @7shi 

PDP-11(DEC)

PDP-11による機械語入門
https://qiita.com/7shi/items/86724696518df3a174dc

VAX(DEC)

VAXによる機械語入門
https://qiita.com/7shi/items/e43e8ce0b1a2cadee2a3

UNIX/32VによるVAX事始め
https://qiita.com/7shi/items/85c4a43a07152c4322d5#_reference-fa3e9049e19099ba526e

VAXの機械語を総当たり調査
https://qiita.com/7shi/items/7b24ed23fcbea08c3615

( Javaで300行程度の逆アセンブラ(VAX)
https://bitbucket.org/7shi/vax/src/tip/src/vax/Main.java )

8086(Intel)

8086による機械語入門
https://qiita.com/7shi/items/b3911948f9d97b05395e

S/390(IBM)

S/390の機械語を総当たり調査
https://qiita.com/7shi/items/98c7aa38fe0bd29a7296

8 bit CPU

6809(Motorola)

MC6809
https://qiita.com/kaizen_nagoya/items/4ec765eaa91d57671306

6502(MOS Technology)

6502アセンブル/逆アセンブル
https://qiita.com/fuzzball/items/2a7f46937bf723e7b953

ファミコンエミュレータの創り方 - Hello, World!編 -
https://qiita.com/bokuweb/items/1575337bef44ae82f4d3#cpu

H8(日立、ルネサス)

H8(アセンブラ)
https://qiita.com/kaizen_nagoya/items/49becae41a951fa136a1

PIC(Peripheral Interface Controller), 8, 16, 32 bit

PIC命令
https://qiita.com/kaizen_nagoya/items/700544d1988d80d7003f

AVR(Alf Egil Bogen, Vegard Wollan, RISC:Reduced Instruction Set Computer) by Atmel

AVR アセンブラ 命令セット
https://qiita.com/ohisama@github/items/90fc17064279901d0cd6

avrでsram
https://qiita.com/ohisama@github/items/bd56c7a678b435bd69ec

avrでeeprom
https://qiita.com/ohisama@github/items/dc4f9ceba5dc9decc0aa

avrでシリアル
https://qiita.com/ohisama@github/items/0806e8746403873a960e

ardino

arduinoでアセンブラ
https://qiita.com/ohisama@github/items/620b85d7fc71fa815a88

arduinoのasm命令でanalog readをする
https://qiita.com/crawd4274/items/8f8af1597698f0c5025a

8080(Intel)

intel 8080 アセンブラ 命令セット
https://qiita.com/ohisama@github/items/c66231c3367227b31cbc

Z80(Zilog)

PC-850VSでZ80アセンブラ(1) Hello, Worldする
https://qiita.com/miminashi/items/3cbe1ff1b67d2ec27950

Z80 アセンブラからCの関数を呼ぶ
https://qiita.com/zan/items/5d2af3ea62b1da5b2a63

MacでX1のクロス開発(アセンブラ準備編)
https://qiita.com/mrbonze/items/1e403202dfabb0bba3fb

ズンドコキヨシ with Z80アセンブラ
https://qiita.com/fujitanozomu/items/6dc50538814168947801

Z80 @Stosstruppe 

z88dkのz80asmでMSX用のキーマトリクス表示を作る。
https://qiita.com/Stosstruppe/items/e86d9f0f60ceadb8ea27

zcc インラインアセンブラ
https://qiita.com/Stosstruppe/items/ce4c0723712a5b7796de

MSX z80asm
https://qiita.com/Stosstruppe/items/7ddf040ddac32290bb57

MSX screen8サンプル
https://qiita.com/Stosstruppe/items/a6c1b3a532bc89718903

MSX PSG
https://qiita.com/Stosstruppe/items/5866def3b7aa186bcdb7

MSX POSITサンプル
https://qiita.com/Stosstruppe/items/e3257876881ef32b56e3

MSX キーマトリクス
https://qiita.com/Stosstruppe/items/e86d9f0f60ceadb8ea27

MSX キーボードイベント
https://qiita.com/Stosstruppe/items/d211251cb439524cc856

MSX STRTMS
https://qiita.com/Stosstruppe/items/a14ee4d38d2f2a4ed5e7

PC-6001 @ fuzzball

[PC-6001] tips
https://qiita.com/fuzzball/items/40125e6ea64cfd8410c2

[PC-6001] カートリッジから起動する
https://qiita.com/fuzzball/items/d68b99cdf362470d93ee

[PC-6001] キー入力 & ジョイスティック入力
https://qiita.com/fuzzball/items/246dd6bcc2b20613dd68

[PC-6001] 2msタイマー
https://qiita.com/fuzzball/items/2f8915a7640606514f29

[PC-6001] キークリック音のON/OFF
https://qiita.com/fuzzball/items/25106a26545a808868cb

[PC-6001] ポート$B0
https://qiita.com/fuzzball/items/27ef8bed0eb2d44d40bb

[PC-6001] メモリマップ
https://qiita.com/fuzzball/items/7b46657ee1dc7e919a09

[PC-6001] PSG制御
https://qiita.com/fuzzball/items/403402e3ea395b905348

[P6MK2VGA] リファレンス
https://qiita.com/fuzzball/items/8efa77a86351e5111db8

16bit CPU

PDP11(Programmed Data Processor:DEC)

アクティブパターンでPDP11のディスアセンブラを作る
https://qiita.com/h_sakurai/items/bedd794f39db6c6a0ea5

「文字列の終端はなぜヌルなのか 」を考察する
https://qiita.com/hironiwasm/items/60a00220c3d0de2cdc9a

CAP-X(Comp-X Assemble Program:IPA)

https://qiita.com/kaizen_nagoya/items/62bea84a494e98178223

CASLII(Comet Assemble Language:IPA)

情報処理技術者試験をアセンブラで受験した者です。
 数十年前、PC-VAN(NECのパソコン通信サービス)でACOS(NECのメインフレーム) Clubのサブシスをしていた頃の話です。COBOLでCASLのアセンブラ・シミュレータを作られた方があり、配布に協力していたことがあります。当時は、COBOLでアセンブラが作れることを知り、目から鱗でした。よく考えてみれば、文字処理が得意で、変換すればいいのだからできたものを見せてもらうと納得感がありました。CASLは小規模な系なので、役に立つ、立たないの二つの意見は拮抗するかもしれません。

私はCASLは役に立つ派です。CASLが役に立つというか、情報処理技術者試験を受けるのにCASL以外の選択肢は思い当たりませんでした。計算機は記憶するのが嫌いで計算機に記録させるために仕事にしています。CASLは仕様を試験時に配ってもらえました。仕様を覚えなくてはいけない他の言語は選択肢にはなりません。

どんな言語を学ぶのであれ、情報処理試験の科目にない言語をお使いの方には、CASLのアセンブラ・シミュレータを作ることをお勧めしています。自分が得意な言語の技が磨けることと、試験に受かることの一挙両得という説明を差し上げるようにしています。自分がもう受験しないために、自分では作っておらず心苦しいですが、、、。

CASLとCOMETのfull spellを探しています。ご存知の方はご教授くださると幸いです。

最強のCASL2/COMET2環境
https://qiita.com/Maxfield_Walker/items/9f75cc16f938f2cd1844

ScalaでCASLIIとCOMETIIの実装してみた感想
https://qiita.com/matsutomu/items/bbf48ed8c48f6529f68a

C言語の勉強がてら、CASL II処理システムを実装した話
https://qiita.com/j8takagi/items/2db31b073cf1fbfd492f

「C言語で作るCPUエミュレータ」ダウンロードサイトがリンク切れ。
 (紹介記事の一部は現在もある。http://coin.nikkeibp.co.jp/coin/itpro/hansoku/pdf/nsw200902_2.pdf)
 ( CASLIIのアセンブラとCOMETIIのシミュレータJAVA版はhttp://fry.no.coocan.jp/lecture/OS/cpuemulator.html )

DartでつくるCASL2逆アセンブラ
https://qiita.com/tatsu/items/2471b1f571b4a183c53f

「増やす減らす二倍する」をCASL IIで(横へな13参考)
https://qiita.com/pazworld/items/c7e31e73af1ef33c5b4a

CASL IIで遊ぶ 環境構築メモ
https://qiita.com/GakuYasui/items/dc2effb767ba7600c52a

Scala上でアセンブリでFizzBuzz
https://qiita.com/opengl-8080/items/175446822197eb727125

M16C(三菱、ルネサス)

M16C(アセンブラ)
https://qiita.com/kaizen_nagoya/items/d8a9b27bc78b23eabe0d

68000(68K:Motorola)

MC68000
https://qiita.com/kaizen_nagoya/items/77a5f1ada6776ed6651b

x86(Intel)

16.05.24 アセンブリ言語の概要
https://qiita.com/shiiiiiiiii1/items/709b0240bfaef99be617

NOP WORD PTR?
https://qiita.com/jkr_2255/items/eaca341a80df845ef667

アセンブラに手を出してみる
https://qiita.com/edo_m18/items/83c63cd69f119d0b9831

ためしておぼえるアセンブラ入門
https://qiita.com/nirasan/items/65e8107ae21fcc36d0c9

アセンブラ学習log_1
https://qiita.com/diggymo/items/fe56f6ea357e5928a8ca

Intel 8086 CPU 基礎
https://qiita.com/timwata/items/e7b7a18cc80b31fd940a

x87命令を使ってみる
https://qiita.com/kaityo256/items/1b59222e538335904b1c

x87 instruction setを使う
https://qiita.com/tobira-code/items/be9982c9a084b57182db

x86の浮動小数計算とSIMD命令の変遷
https://qiita.com/lpha_z/items/eafa9c13532c9ac80d4b

32 bit

NIOSII(Altera)

NIOSII(アセンブラ)
https://qiita.com/kaizen_nagoya/items/0101045dfb6ad56fdc03

MicroBraze(Xilinx)

MicroBlaze(アセンブラ)
https://qiita.com/kaizen_nagoya/items/57de0bebe1f0b6e97f66

SH(Super H(hitachi?), 日立、ルネサス)

SH(アセンブラ)
https://qiita.com/kaizen_nagoya/items/de92c2b287cb0ecdbf06

IA32-x86(intel)

IA32(x86)汎用命令対応のアセンブラ実装方法(1)
https://qiita.com/hiroyuki-nagata/items/ec0f47df595631e41c5c

IA32(x86)汎用命令対応のアセンブラ実装方法(2)
https://qiita.com/hiroyuki-nagata/items/42ba3d797f8e29726bde

アセンブラ(32bit)でhello world
https://qiita.com/DQNEO/items/d450a3c43f55b79f292b

アセンブリ言語で様々なアーキテクチャ向けのHello,Worldプログラムを書こう!という話。
https://qiita.com/furandon_pig/items/8124979604ad97f544a4

ブートストラップローダ領域でHello, World!
https://qiita.com/naoyoshinori/items/4f4850e721851ea5dc63

「はじめて読む486」を読んでみました。
https://qiita.com/saruo@github/items/38766661898fc2669669

ハードウェア乱数 RDRAND命令の使い方
https://qiita.com/Seizh/items/3e55b04e62d66808fd03

256-bit AVXのvpalignrについて
https://qiita.com/Seizh/items/94dda8c5b1724640af28

第一回 x86バイナリ入門
https://qiita.com/d-kami/items/603ad46184c7d6d44191

MMX, SSE, AVX, FMA命令とは何かを明らかにしたい会
https://qiita.com/alpacatom/items/5daf3bc703f26304241d

Linuxでx86アセンブラ by @MoriokaReimen 

  1. Linuxでx86アセンブラ(道具編) 2015年11月05日に投稿
    http://qiita.com/MoriokaReimen/items/b316a68d76c1eafa18f8

  2. Linuxでx86アセンブラ(Cとの連携編)2015年11月07日に投稿
    http://qiita.com/MoriokaReimen/items/590a4ddb3de15bfacb4b

  3. Linuxでx86アセンブラ(四則演算編)2015年11月14日に投稿
    http://qiita.com/MoriokaReimen/items/4853587dcb9eb96fab62

  4. Linuxでx86アセンブラ(論理演算編) 2015年11月20日に投稿
    http://qiita.com/MoriokaReimen/items/bf863585616ad0a0a969

  5. Linuxでx86アセンブラ(基本的なコードの構造編)2015年11月27日に投稿
    http://qiita.com/MoriokaReimen/items/b320e6cc82c8873a602f

  6. Linuxでx86アセンブラ(スタック編)2015年11月28日に投稿
    http://qiita.com/MoriokaReimen/items/31a8f8ce4a46ba0f3590

  7. Linuxでx86アセンブラ(マクロ編) 
    http://qiita.com/MoriokaReimen/items/45abbb6c2938abd505ff

  8. Linuxでx86アセンブラ(条件分岐編)2015年12月09日に更新 2015年12月02日に投稿
    https://qiita.com/MoriokaReimen/items/66b8c0e3b2ef1d2993bb#_reference-46d6608629b00ae42268

  9. Linuxでx86アセンブラ(BCD編)
    https://qiita.com/MoriokaReimen/items/f66329680e98022c6bab#_reference-322a00be9111ce80868b

  10. Linuxでx86アセンブラ(浮動小数点編)2015年12月17日に投稿
    https://qiita.com/MoriokaReimen/items/8d3b0dddcc2a77ecdfa5#_reference-d9eb740d133b784b89d2

LJの力計算をフルアセンブラで書いてみる @kaityo256 

LJの力計算をフルアセンブラで書いてみる
https://qiita.com/kaityo256/items/03e0240af4e9a6469bcb

LJの力計算を組み込み関数で書いてみる
https://qiita.com/kaityo256/items/03e0240af4e9a6469bcb

LJの力計算を組み込み関数で書いて馬鹿SIMD化
https://qiita.com/kaityo256/items/bf10fdb0f90809e3d2bf#_reference-1a416859bca0af6833d1

LJの力計算のSIMD化(たぶん完結編)
https://qiita.com/kaityo256/items/caf4b8458a6bc292b4cc#_reference-f28b72ab183513e81718

LJの力計算のSIMD化ステップ・バイ・ステップ その0
https://qiita.com/kaityo256/items/5be3ce71a6ff9522a0e6#_reference-5b7317570ce3058cf132

LJの力計算のSIMD化ステップ・バイ・ステップ その1
https://qiita.com/kaityo256/items/4d34bf144122b78fcf49

LJの力計算のSIMD化ステップ・バイ・ステップ その2
https://qiita.com/kaityo256/items/e6c41b94c5cc5189c5cc

LJの力計算のSIMD化ステップ・バイ・ステップ その3
https://qiita.com/kaityo256/items/7f16ab7f2281bb03e83e

LJの力計算のSIMD化ステップ・バイ・ステップ その3.5
https://qiita.com/kaityo256/items/b145b2d83becccd0aa53

LJの力計算のSIMD化ステップ・バイ・ステップ その4
https://qiita.com/kaityo256/items/636c5a407f5a6c61bb21

LJの力計算のSIMD化ステップ・バイ・ステップ その5
https://qiita.com/kaityo256/items/dacbe5a16abbc83eb107

LJの力計算のSIMD化ステップ・バイ・ステップ その6
https://qiita.com/kaityo256/items/34c371c6d040be1bdc30

ARM(Advanced RISC Machines)

[アセンブラ] ARMの仕様を見てみる
https://qiita.com/edo_m18/items/a7c747c5bed600dca977

ARM Thumb 16-bit アセンブラ 命令セット
https://qiita.com/ohisama@github/items/58e2a8f62221cd520ace

ARMv7-MのNOP命令
https://qiita.com/eggman/items/4f365b56cd51965834c0

ARMアセンブリ言語の実装色々とNEON命令のサンプル
https://qiita.com/take-iwiw/items/cea0a2cb4d2709cb7ee5

raspberry pi 1 model bで、アセンブラ
https://qiita.com/ohisama@github/items/5371bb13d07ec6440f59

ARMアセンブリ言語でRGBA->HSVに変換してみた件
https://qiita.com/wf9a5m75/items/33442009d51a0c899333

ARM 関数呼び出し引数の渡し方
https://qiita.com/eggman/items/39e02a1ff9b772fcdb63

objdumpでARM-v7Mのバイナリを逆アセンブル
https://qiita.com/eggman/items/f9de9ffa318db0f39043

Raspberry PI

raspberry pi 1 model bで、アセンブラ その1
https://qiita.com/ohisama@github/items/5371bb13d07ec6440f59
 raspberry pi 1 model bで、アセンブラ その2
https://qiita.com/ohisama@github/items/5a5a7ee49287622ddff8
 raspberry pi 1 model bで、アセンブラ その3
https://qiita.com/ohisama@github/items/1acbc8cb9642adffc868

QEMUでRaspberry Pi 3のUARTをベアメタルで動かす
https://qiita.com/eggman/items/045bf5525fcf78209b79

QEMUのRaspberry Pi 3モデルでコアを識別する
https://qiita.com/eggman/items/96750a3e849d5562fcc6

V850(Renesas:Renaissance Semiconductor for Advanced Solutions)

athrill @kanetugu2018 

athrill(アスリル)機能マニュアル
https://qiita.com/kanetugu2018/items/cf3dea16710a3f0737e8

athrill(アスリル)機能マニュアル(起動オプション)
https://qiita.com/kanetugu2018/items/5a1a6658ca710f5b97ff

athrill(アスリル)機能マニュアル(パラメータ)
https://qiita.com/kanetugu2018/items/ff50704ed7436e0a20db

athrill(アスリル)機能マニュアル(外部入出力)
https://qiita.com/kanetugu2018/items/399f652e76532599fa04

athrill(アスリル)機能マニュアル(問題の早期検出機能)
https://qiita.com/kanetugu2018/items/d63314b018bdb7d28e07

athrill(アスリル)機能マニュアル(データアクセス制御)
https://qiita.com/kanetugu2018/items/516fa086f52558d6f3ad

メモリ保護対応版 athrill(アスリル) のご紹介
https://qiita.com/kanetugu2018/items/f2205475c4a4eae699c0

athrill(アスリル) を使用して TOPPERS OS(ASP3) をデバッグ
https://qiita.com/kanetugu2018/items/1f2ef93c9e1fa7a29f97

athrill(アスリル) を使用してベアメタル・プログラミング(1回目:main関数が動き出すまで)
https://qiita.com/kanetugu2018/items/7d2ce8def53cb9bda06b

athrill(アスリル) を使用してベアメタル・プログラミング(2回目:割り込みがソフトウェアに通知されるまで)
https://qiita.com/kanetugu2018/items/8cb411717511ca96bc64

マルチコア対応仮想環境(athrill)を使用して TOPPERS/ATK2 を実行する
https://qiita.com/kanetugu2018/items/b43c5715124f42a0393d

athrill(アスリル) を使用して TOPPERS OS(ASP3) をデバッグ
https://qiita.com/kanetugu2018/items/1f2ef93c9e1fa7a29f97

athrill(アスリル)を使用してC言語ポインタ変数を理解する
https://qiita.com/kanetugu2018/items/b9ad84c2f74324174864

TOPPERS/TTSPをathrillで動作させる(作成中)
https://qiita.com/kanetugu2018/items/ac2f73529feef41c0c0d

TOPPERS/TTSPをathrillで動作させる(TTSP のターゲット依存コードを実装する)
https://qiita.com/kanetugu2018/items/43fdcb578f1d9c1dcbcb

SPARC(Sun)

SPARC Assembly Language
https://qiita.com/kaizen_nagoya/items/4f084f63eb0420d7b3b3

powerPC(IBM)

PowerPCアセンブリ チートシート
https://qiita.com/kitayuta/items/ad7bde187a3509de020b

PowerPC(アセンブラ)
https://qiita.com/kaizen_nagoya/items/1e7741b1a59b3a31416f

MIPS(Microprocessor without Interlocked Pipeline Stages)

MIPS-32のレジスタ一覧
https://qiita.com/drib__/items/ff2f962367390fc59221

アセンブリ言語(MIPS)でソート
https://qiita.com/mpyw/items/c45ec2b80303ce40d7cf

自作CPUを創る際に効率よくテストケースを準備する方法
https://qiita.com/varmil/items/be190fe50516c52aab3e

MIPS(アセンブラ)
https://qiita.com/kaizen_nagoya/items/f8247a26ffb801b2beb6



10:44 | 投票する | 投票数(0) | コメント(0)
2018/07/30

Qiita で組立語(assembler)・機械語(machine language)・CPU <アセンブラへの道>, 小川清, 2018,

Tweet ThisSend to Facebook | by kaizen
 Qiita で組立語(assembler)・機械語(machine language)・CPU <アセンブラへの道>, 小川清, 2018,
247

前書き(preface)

計画(program)を記述する人が、計画者(programmer)です。
 計算機計画者(computer programmer)は、ここでは計算機の実行計画(programming)であるか、計算機そのものの計画(program)であるかを問いません。計算機の計画を考える一つの切り口が組立語(assembler)。

アセンブラ入門への入り口, 2012
https://researchmap.jp/jowkoc1zp-45644/
 という記事を書いたが、その後、迷走している。現在記事をQiitaに書き換え中。
https://qiita.com/kaizen_nagoya/items/0bf939143593fbb7114a

目的(purpose)

Qiitaの組立語(assembler)の記事が少ないのを嘆くのではなく、
 組立語(assembler)に関するどういう記事を掲載すると、
 抜け漏れなく、組立語(assembler)に関する情報提供ができるかを確認する。

成果(outcome)

10(20180708達成済) 20(20180715達成済)30以上のCPU(仮想CPUを含む)の組立語(assembler)、組立語(assembler)に関する10以上の視点が提供できるまで一覧を作り、ないものは記事も書く。記事数が100(20180704到達済) 200(20180711到達済)1000になるまで収集する。

要請(pressing)

6809, 68K, SPARC, PIC, CAP-Xに関する組立語(assembler)・機械語(machine language)視点でのQiitaでの記述が見当たっていません。これがそうだよというものをお知らせくださると幸いです。

20180716追記:MC6809, 68000, SPARC, PIC,のQiita記事を仮置き。まだ試験も模擬試験もしていません。どなたかが、試験または模擬試験結果を掲載してくださると幸いです。

20180716追記
 CAP-X, H8, M16C, SHの記事を仮置き。

理由(reason)

アセンブラを学ぶ理由はいくつかある。

0)「単純に楽しいから学ぶのだ」
 0と1のコンピュータ世界 バイナリで遊ぼう! 坂井弘亮, 坂井丈泰, 愛甲健二, 竹迫良範, 松田和樹,マイナビ, 2014, p.236
https://www.amazon.co.jp/dp/4839951020

坂井弘亮さんのアセンブラのセミナ等での発言だけでなく、OSC北海道での受講された若いからの口からも「すごく面白かった」と。

1)コンパイラを作る
 2)CPUの機能を生かしたOSを作る
 3)セキュリティの課題、技術を確認する
 4)システムの保守・運用時のパッチ当て
 5)新しいCPUを設計する
 6)ソフトウェアの高速化、省容量化の検討

経路(route)

アセンブラを学ぶのに、いくつか経路を想定する。
 1)「CPUの創り方」から「パタ・ヘネ」「ヘネ・パタ」
 2)「CASLII」から「Code Complete」
 3)今使っているPCのCPU(Intel or ARM)から
 4)今使っている言語で、アセンブラ、CASLIIのシミュレータ等を作る
 5)通信系の高速化、省容量化
 6)電動機(motor)などの高速化、省容量化

鍵語(keyword)

組立語(assembler) アセンブリ アセンブリ言語 機械語(machine language) 逆組立(disassemble) デバッガ 連結器(linker) ロケータ  装置運転者(device driver) 起動処理(boot) CPU FPU GPU DSP 論理回路(logical circuit)

視点(view point)

(0)16進数(hexadecimal number)8進数(octal number), 2進数(binary number)
 (1)機械語(machine language)
 (2)組立語(assembler)
 nasm, masm, gas...
 (3)除虫(debug)
 debugなど
 例:debugコマンド(MS DOS)
https://qiita.com/kaizen_nagoya/items/31542d281d16d135df66
 (4)逆組立器(dis assembler)
 例:「項書き換え機能付きプログラム」のディスアセンブラの作成
https://qiita.com/kaizen_nagoya/items/8b8fe645b06bc7eccefb
 (5)連結器(linker)、配置器(locator)
 (6)C/C++との連携
 (7)OS, カーネルでの利用
 TOPPERSなど
 例:TOPPERS/SSPカーネルソース勉強会(1) start.S
https://qiita.com/kaizen_nagoya/items/fa0d482bfaacf37dbe62
 (8)アセンブラで書いた道具(tool)類(OS,カーネルを除く)
  VZなど
 例:VZエディタ移植(porting)に当たって実施したことと成果
https://qiita.com/kaizen_nagoya/items/5551be98dcbed8f41949
 (9)アセンブラを書くための道具類(アセンブラ、ディスアセンブラ、リンカ、ロケータを除く)
 (10)応用(application)
 例:電動機制御(motor controll)算譜設計(program design)における3つの罠6つの教訓(実機)
https://qiita.com/kaizen_nagoya/items/b39b6b7ba0d90dff471d
 (11) 中央処理装置(central processing unit)
 x86,x86-64, arm, arm64, caslII, avr. 8080, z80, pdp11, powerpc, mips, S/390

(12) 論理回路(logic circuit), Verilog-HDL, VHDL
 例:RTL設計スタイルガイド Verilog HDL編(System Verilog対応版)
https://qiita.com/kaizen_nagoya/items/4c02f1575db1f28310a7

背景(back ground)

プログラミング言語教育のXYZ
https://qiita.com/kaizen_nagoya/items/1950c5810fb5c0b07be4
 プログラミング言語教育のXYZ(youtube)
https://www.youtube.com/watch?v=He1_tg4px-w&t=486s
 で、アセンブラが得意と言った割に、アセンブラの記事を書いてないことに気が付いた。調べて見るとQiitaでアセンブラの記事が少ないことに驚いて整理し始めました。

覚書(note)

略号のfull spellは、語源を知る上で付記。現在有効でない場合もある。
 より良い略号のfull spell提案は歓迎。このfull spellは有効でないというだけの言及には対応できません。ごめんなさい。

組立語、機械語 Qiita記事 略号、訳語一覧
https://researchmap.jp/johmnxgin-1778110/#_1778110

入門(introduction)

基礎からやりなおしメモ 【アセンブラ/CPUの挙動】
https://qiita.com/yuri_RN/items/e4a0849e8d0bbd7ac87b

註釈(comment)
遠山ー>演算
 CPU内にはー>XXXというCPUには
 「(5)命令の実行」ー>「(5)命令の実行」「(6)命令結果の格納」
 「アセンブラはレジスタとメモリの間で行われるデータのやり取りを捜査する。」ー>
 「機械語はレジスタとメモリの間で行うデータのやり取りを(20180717修正済)操作する。」(20180719修正済)

ざっくりアセンブラ入門
https://qiita.com/kazukichi/items/201b0c7fdf3d3aa576c7

感想(impression):
 「ハーバード型では、プログラム(命令)を格納するメモリとデータを格納するメモリが別になっている。
 家に冷蔵庫が2つある感じ。」に違和感。プログラムを格納するメモリは、項書き換えプログラムでない場合には出すだけで入れない。データは出し入れするので冷蔵庫の比喩は妥当。

組み込み開発においてインラインアセンブラを挿入する際の2つの落とし穴
https://qiita.com/moricy/items/1c94f95fbbf9a90c7b3a

記録(record):
 どのCPUのアセンブラかの記載がない。

いまどきのプログラマーがアセンブリを学ぶ意味ある?
https://qiita.com/Nekonecode/items/6819914396db9c925d47

覚書(notes):
 ハードウェアの不具合があった時、ソフトウェアの不具合があった時、機械語またはアセンブラがわかっていれば、切り抜けられることがある。(後日整理予定)

16進数(hexadecimal number),8進数(octal number), 2進数(binary number)

機械語命令を16進数表示することがあります。
 それに対して、アセンブラは意味のある文字列に置き換えたものです。
 アセンブラでも、データ部分は16進数で表現することが多くあります。
 そこで、十16進数に馴染むことは、機械語、アセンブラ理解の助けとなるでしょう。

2進数10進数16進数
https://qiita.com/inabe49/items/805c2d2bcd9e70c37ef6

長いビット列を16進数にする
https://qiita.com/tobira-code/items/b232ec35a28d3065f151

16進数と10進数の変換
https://qiita.com/roppy/items/54738fc42298b57703af

論理回路の基礎 #1デジタル信号の基礎
https://qiita.com/Taira815/items/2991f9087a0efd197271

2進数・8進数・10進数・16進数の相互変換についてまとめてみた
https://qiita.com/manabu013/items/2ef474f5ecfe8e02ae06

10進数の数値を 2進数、8進数、16進数の文字列に変換 - Scala -
https://qiita.com/takuya71/items/abe75c9a4937dab9bb7c

10進数の数値を 2進数、8進数、16進数の文字列に変換 - Ruby -
https://qiita.com/takuya71/items/a16af302ee2f534e8fc5

機械語(machine languate)

機械語
https://qiita.com/yanap/items/7c56386b1582e19823d1

PC-88 機械語で文字出力
https://qiita.com/Stosstruppe/items/1a1c07782d32ed3349fb

機械語 @7shi 

PDP-11(DEC)

PDP-11による機械語入門
https://qiita.com/7shi/items/86724696518df3a174dc

VAX(DEC)

VAXによる機械語入門
https://qiita.com/7shi/items/e43e8ce0b1a2cadee2a3

UNIX/32VによるVAX事始め
https://qiita.com/7shi/items/85c4a43a07152c4322d5#_reference-fa3e9049e19099ba526e

VAXの機械語を総当たり調査
https://qiita.com/7shi/items/7b24ed23fcbea08c3615

( Javaで300行程度の逆アセンブラ(VAX)
https://bitbucket.org/7shi/vax/src/tip/src/vax/Main.java )

8086(Intel)

8086による機械語入門
https://qiita.com/7shi/items/b3911948f9d97b05395e

S/390(IBM)

S/390の機械語を総当たり調査
https://qiita.com/7shi/items/98c7aa38fe0bd29a7296

8 bit CPU

6809(Motorola)

MC6809
https://qiita.com/kaizen_nagoya/items/4ec765eaa91d57671306

6502(MOS Technology)

6502アセンブル/逆アセンブル
https://qiita.com/fuzzball/items/2a7f46937bf723e7b953

ファミコンエミュレータの創り方 - Hello, World!編 -
https://qiita.com/bokuweb/items/1575337bef44ae82f4d3#cpu

H8(日立、ルネサス)

H8(アセンブラ)
https://qiita.com/kaizen_nagoya/items/49becae41a951fa136a1

PIC(Peripheral Interface Controller), 8, 16, 32 bit

PIC命令
https://qiita.com/kaizen_nagoya/items/700544d1988d80d7003f

AVR(Alf Egil Bogen, Vegard Wollan, RISC:Reduced Instruction Set Computer) by Atmel

AVR アセンブラ 命令セット
https://qiita.com/ohisama@github/items/90fc17064279901d0cd6

avrでsram
https://qiita.com/ohisama@github/items/bd56c7a678b435bd69ec

avrでeeprom
https://qiita.com/ohisama@github/items/dc4f9ceba5dc9decc0aa

avrでシリアル
https://qiita.com/ohisama@github/items/0806e8746403873a960e

ardino

arduinoでアセンブラ
https://qiita.com/ohisama@github/items/620b85d7fc71fa815a88

arduinoのasm命令でanalog readをする
https://qiita.com/crawd4274/items/8f8af1597698f0c5025a

8080(Intel)

intel 8080 アセンブラ 命令セット
https://qiita.com/ohisama@github/items/c66231c3367227b31cbc

Z80(Zilog)

PC-850VSでZ80アセンブラ(1) Hello, Worldする
https://qiita.com/miminashi/items/3cbe1ff1b67d2ec27950

Z80 アセンブラからCの関数を呼ぶ
https://qiita.com/zan/items/5d2af3ea62b1da5b2a63

MacでX1のクロス開発(アセンブラ準備編)
https://qiita.com/mrbonze/items/1e403202dfabb0bba3fb

ズンドコキヨシ with Z80アセンブラ
https://qiita.com/fujitanozomu/items/6dc50538814168947801

Z80 @Stosstruppe 

z88dkのz80asmでMSX用のキーマトリクス表示を作る。
https://qiita.com/Stosstruppe/items/e86d9f0f60ceadb8ea27

zcc インラインアセンブラ
https://qiita.com/Stosstruppe/items/ce4c0723712a5b7796de

MSX z80asm
https://qiita.com/Stosstruppe/items/7ddf040ddac32290bb57

MSX screen8サンプル
https://qiita.com/Stosstruppe/items/a6c1b3a532bc89718903

MSX PSG
https://qiita.com/Stosstruppe/items/5866def3b7aa186bcdb7

MSX POSITサンプル
https://qiita.com/Stosstruppe/items/e3257876881ef32b56e3

MSX キーマトリクス
https://qiita.com/Stosstruppe/items/e86d9f0f60ceadb8ea27

MSX キーボードイベント
https://qiita.com/Stosstruppe/items/d211251cb439524cc856

MSX STRTMS
https://qiita.com/Stosstruppe/items/a14ee4d38d2f2a4ed5e7

PC-6001 @ fuzzball

[PC-6001] tips
https://qiita.com/fuzzball/items/40125e6ea64cfd8410c2

[PC-6001] カートリッジから起動する
https://qiita.com/fuzzball/items/d68b99cdf362470d93ee

[PC-6001] キー入力 & ジョイスティック入力
https://qiita.com/fuzzball/items/246dd6bcc2b20613dd68

[PC-6001] 2msタイマー
https://qiita.com/fuzzball/items/2f8915a7640606514f29

[PC-6001] キークリック音のON/OFF
https://qiita.com/fuzzball/items/25106a26545a808868cb

[PC-6001] ポート$B0
https://qiita.com/fuzzball/items/27ef8bed0eb2d44d40bb

[PC-6001] メモリマップ
https://qiita.com/fuzzball/items/7b46657ee1dc7e919a09

[PC-6001] PSG制御
https://qiita.com/fuzzball/items/403402e3ea395b905348

[P6MK2VGA] リファレンス
https://qiita.com/fuzzball/items/8efa77a86351e5111db8

16bit CPU

PDP11(Programmed Data Processor:DEC)

アクティブパターンでPDP11のディスアセンブラを作る
https://qiita.com/h_sakurai/items/bedd794f39db6c6a0ea5

「文字列の終端はなぜヌルなのか 」を考察する
https://qiita.com/hironiwasm/items/60a00220c3d0de2cdc9a

CAP-X(Comp-X Assemble Program:IPA)

https://qiita.com/kaizen_nagoya/items/62bea84a494e98178223

CASLII(Comet Assemble Language:IPA)

情報処理技術者試験をアセンブラで受験した者です。
 数十年前、PC-VAN(NECのパソコン通信サービス)でACOS(NECのメインフレーム) Clubのサブシスをしていた頃の話です。COBOLでCASLのアセンブラ・シミュレータを作られた方があり、配布に協力していたことがあります。当時は、COBOLでアセンブラが作れることを知り、目から鱗でした。よく考えてみれば、文字処理が得意で、変換すればいいのだからできたものを見せてもらうと納得感がありました。CASLは小規模な系なので、役に立つ、立たないの二つの意見は拮抗するかもしれません。

私はCASLは役に立つ派です。CASLが役に立つというか、情報処理技術者試験を受けるのにCASL以外の選択肢は思い当たりませんでした。計算機は記憶するのが嫌いで計算機に記録させるために仕事にしています。CASLは仕様を試験時に配ってもらえました。仕様を覚えなくてはいけない他の言語は選択肢にはなりません。

どんな言語を学ぶのであれ、情報処理試験の科目にない言語をお使いの方には、CASLのアセンブラ・シミュレータを作ることをお勧めしています。自分が得意な言語の技が磨けることと、試験に受かることの一挙両得という説明を差し上げるようにしています。自分がもう受験しないために、自分では作っておらず心苦しいですが、、、。

CASLとCOMETのfull spellを探しています。ご存知の方はご教授くださると幸いです。

最強のCASL2/COMET2環境
https://qiita.com/Maxfield_Walker/items/9f75cc16f938f2cd1844

ScalaでCASLIIとCOMETIIの実装してみた感想
https://qiita.com/matsutomu/items/bbf48ed8c48f6529f68a

C言語の勉強がてら、CASL II処理システムを実装した話
https://qiita.com/j8takagi/items/2db31b073cf1fbfd492f

「C言語で作るCPUエミュレータ」ダウンロードサイトがリンク切れ。
 (紹介記事の一部は現在もある。http://coin.nikkeibp.co.jp/coin/itpro/hansoku/pdf/nsw200902_2.pdf)
 ( CASLIIのアセンブラとCOMETIIのシミュレータJAVA版はhttp://fry.no.coocan.jp/lecture/OS/cpuemulator.html )

DartでつくるCASL2逆アセンブラ
https://qiita.com/tatsu/items/2471b1f571b4a183c53f

「増やす減らす二倍する」をCASL IIで(横へな13参考)
https://qiita.com/pazworld/items/c7e31e73af1ef33c5b4a

CASL IIで遊ぶ 環境構築メモ
https://qiita.com/GakuYasui/items/dc2effb767ba7600c52a

Scala上でアセンブリでFizzBuzz
https://qiita.com/opengl-8080/items/175446822197eb727125

M16C(三菱、ルネサス)

M16C(アセンブラ)
https://qiita.com/kaizen_nagoya/items/d8a9b27bc78b23eabe0d

68000(68K:Motorola)

MC68000
https://qiita.com/kaizen_nagoya/items/77a5f1ada6776ed6651b

x86(Intel)

16.05.24 アセンブリ言語の概要
https://qiita.com/shiiiiiiiii1/items/709b0240bfaef99be617

NOP WORD PTR?
https://qiita.com/jkr_2255/items/eaca341a80df845ef667

アセンブラに手を出してみる
https://qiita.com/edo_m18/items/83c63cd69f119d0b9831

ためしておぼえるアセンブラ入門
https://qiita.com/nirasan/items/65e8107ae21fcc36d0c9

アセンブラ学習log_1
https://qiita.com/diggymo/items/fe56f6ea357e5928a8ca

Intel 8086 CPU 基礎
https://qiita.com/timwata/items/e7b7a18cc80b31fd940a

x87命令を使ってみる
https://qiita.com/kaityo256/items/1b59222e538335904b1c

x87 instruction setを使う
https://qiita.com/tobira-code/items/be9982c9a084b57182db

x86の浮動小数計算とSIMD命令の変遷
https://qiita.com/lpha_z/items/eafa9c13532c9ac80d4b

32 bit

NIOSII(Altera)

NIOSII(アセンブラ)
https://qiita.com/kaizen_nagoya/items/0101045dfb6ad56fdc03

MicroBraze(Xilinx)

MicroBlaze(アセンブラ)
https://qiita.com/kaizen_nagoya/items/57de0bebe1f0b6e97f66

SH(Super H(hitachi?), 日立、ルネサス)

SH(アセンブラ)
https://qiita.com/kaizen_nagoya/items/de92c2b287cb0ecdbf06

IA32-x86(intel)

IA32(x86)汎用命令対応のアセンブラ実装方法(1)
https://qiita.com/hiroyuki-nagata/items/ec0f47df595631e41c5c

IA32(x86)汎用命令対応のアセンブラ実装方法(2)
https://qiita.com/hiroyuki-nagata/items/42ba3d797f8e29726bde

アセンブラ(32bit)でhello world
https://qiita.com/DQNEO/items/d450a3c43f55b79f292b

アセンブリ言語で様々なアーキテクチャ向けのHello,Worldプログラムを書こう!という話。
https://qiita.com/furandon_pig/items/8124979604ad97f544a4

ブートストラップローダ領域でHello, World!
https://qiita.com/naoyoshinori/items/4f4850e721851ea5dc63

「はじめて読む486」を読んでみました。
https://qiita.com/saruo@github/items/38766661898fc2669669

ハードウェア乱数 RDRAND命令の使い方
https://qiita.com/Seizh/items/3e55b04e62d66808fd03

256-bit AVXのvpalignrについて
https://qiita.com/Seizh/items/94dda8c5b1724640af28

第一回 x86バイナリ入門
https://qiita.com/d-kami/items/603ad46184c7d6d44191

MMX, SSE, AVX, FMA命令とは何かを明らかにしたい会
https://qiita.com/alpacatom/items/5daf3bc703f26304241d

Linuxでx86アセンブラ by @MoriokaReimen 

  1. Linuxでx86アセンブラ(道具編) 2015年11月05日に投稿
    http://qiita.com/MoriokaReimen/items/b316a68d76c1eafa18f8

  2. Linuxでx86アセンブラ(Cとの連携編)2015年11月07日に投稿
    http://qiita.com/MoriokaReimen/items/590a4ddb3de15bfacb4b

  3. Linuxでx86アセンブラ(四則演算編)2015年11月14日に投稿
    http://qiita.com/MoriokaReimen/items/4853587dcb9eb96fab62

  4. Linuxでx86アセンブラ(論理演算編) 2015年11月20日に投稿
    http://qiita.com/MoriokaReimen/items/bf863585616ad0a0a969

  5. Linuxでx86アセンブラ(基本的なコードの構造編)2015年11月27日に投稿
    http://qiita.com/MoriokaReimen/items/b320e6cc82c8873a602f

  6. Linuxでx86アセンブラ(スタック編)2015年11月28日に投稿
    http://qiita.com/MoriokaReimen/items/31a8f8ce4a46ba0f3590

  7. Linuxでx86アセンブラ(マクロ編) 
    http://qiita.com/MoriokaReimen/items/45abbb6c2938abd505ff

  8. Linuxでx86アセンブラ(条件分岐編)2015年12月09日に更新 2015年12月02日に投稿
    https://qiita.com/MoriokaReimen/items/66b8c0e3b2ef1d2993bb#_reference-46d6608629b00ae42268

  9. Linuxでx86アセンブラ(BCD編)
    https://qiita.com/MoriokaReimen/items/f66329680e98022c6bab#_reference-322a00be9111ce80868b

  10. Linuxでx86アセンブラ(浮動小数点編)2015年12月17日に投稿
    https://qiita.com/MoriokaReimen/items/8d3b0dddcc2a77ecdfa5#_reference-d9eb740d133b784b89d2

LJの力計算をフルアセンブラで書いてみる @kaityo256 

LJの力計算をフルアセンブラで書いてみる
https://qiita.com/kaityo256/items/03e0240af4e9a6469bcb

LJの力計算を組み込み関数で書いてみる
https://qiita.com/kaityo256/items/03e0240af4e9a6469bcb

LJの力計算を組み込み関数で書いて馬鹿SIMD化
https://qiita.com/kaityo256/items/bf10fdb0f90809e3d2bf#_reference-1a416859bca0af6833d1

LJの力計算のSIMD化(たぶん完結編)
https://qiita.com/kaityo256/items/caf4b8458a6bc292b4cc#_reference-f28b72ab183513e81718

LJの力計算のSIMD化ステップ・バイ・ステップ その0
https://qiita.com/kaityo256/items/5be3ce71a6ff9522a0e6#_reference-5b7317570ce3058cf132

LJの力計算のSIMD化ステップ・バイ・ステップ その1
https://qiita.com/kaityo256/items/4d34bf144122b78fcf49

LJの力計算のSIMD化ステップ・バイ・ステップ その2
https://qiita.com/kaityo256/items/e6c41b94c5cc5189c5cc

LJの力計算のSIMD化ステップ・バイ・ステップ その3
https://qiita.com/kaityo256/items/7f16ab7f2281bb03e83e

LJの力計算のSIMD化ステップ・バイ・ステップ その3.5
https://qiita.com/kaityo256/items/b145b2d83becccd0aa53

LJの力計算のSIMD化ステップ・バイ・ステップ その4
https://qiita.com/kaityo256/items/636c5a407f5a6c61bb21

LJの力計算のSIMD化ステップ・バイ・ステップ その5
https://qiita.com/kaityo256/items/dacbe5a16abbc83eb107

LJの力計算のSIMD化ステップ・バイ・ステップ その6
https://qiita.com/kaityo256/items/34c371c6d040be1bdc30

ARM(Advanced RISC Machines)

[アセンブラ] ARMの仕様を見てみる
https://qiita.com/edo_m18/items/a7c747c5bed600dca977

ARM Thumb 16-bit アセンブラ 命令セット
https://qiita.com/ohisama@github/items/58e2a8f62221cd520ace

ARMv7-MのNOP命令
https://qiita.com/eggman/items/4f365b56cd51965834c0

ARMアセンブリ言語の実装色々とNEON命令のサンプル
https://qiita.com/take-iwiw/items/cea0a2cb4d2709cb7ee5

raspberry pi 1 model bで、アセンブラ
https://qiita.com/ohisama@github/items/5371bb13d07ec6440f59

ARMアセンブリ言語でRGBA->HSVに変換してみた件
https://qiita.com/wf9a5m75/items/33442009d51a0c899333

ARM 関数呼び出し引数の渡し方
https://qiita.com/eggman/items/39e02a1ff9b772fcdb63

objdumpでARM-v7Mのバイナリを逆アセンブル
https://qiita.com/eggman/items/f9de9ffa318db0f39043

Raspberry PI

raspberry pi 1 model bで、アセンブラ その1
https://qiita.com/ohisama@github/items/5371bb13d07ec6440f59
 raspberry pi 1 model bで、アセンブラ その2
https://qiita.com/ohisama@github/items/5a5a7ee49287622ddff8
 raspberry pi 1 model bで、アセンブラ その3
https://qiita.com/ohisama@github/items/1acbc8cb9642adffc868

QEMUでRaspberry Pi 3のUARTをベアメタルで動かす
https://qiita.com/eggman/items/045bf5525fcf78209b79

QEMUのRaspberry Pi 3モデルでコアを識別する
https://qiita.com/eggman/items/96750a3e849d5562fcc6

V850(Renesas:Renaissance Semiconductor for Advanced Solutions)

athrill @kanetugu2018 

athrill(アスリル)機能マニュアル
https://qiita.com/kanetugu2018/items/cf3dea16710a3f0737e8

athrill(アスリル)機能マニュアル(起動オプション)
https://qiita.com/kanetugu2018/items/5a1a6658ca710f5b97ff

athrill(アスリル)機能マニュアル(パラメータ)
https://qiita.com/kanetugu2018/items/ff50704ed7436e0a20db

athrill(アスリル)機能マニュアル(外部入出力)
https://qiita.com/kanetugu2018/items/399f652e76532599fa04

athrill(アスリル)機能マニュアル(問題の早期検出機能)
https://qiita.com/kanetugu2018/items/d63314b018bdb7d28e07

athrill(アスリル)機能マニュアル(データアクセス制御)
https://qiita.com/kanetugu2018/items/516fa086f52558d6f3ad

メモリ保護対応版 athrill(アスリル) のご紹介
https://qiita.com/kanetugu2018/items/f2205475c4a4eae699c0

athrill(アスリル) を使用して TOPPERS OS(ASP3) をデバッグ
https://qiita.com/kanetugu2018/items/1f2ef93c9e1fa7a29f97

athrill(アスリル) を使用してベアメタル・プログラミング(1回目:main関数が動き出すまで)
https://qiita.com/kanetugu2018/items/7d2ce8def53cb9bda06b

athrill(アスリル) を使用してベアメタル・プログラミング(2回目:割り込みがソフトウェアに通知されるまで)
https://qiita.com/kanetugu2018/items/8cb411717511ca96bc64

マルチコア対応仮想環境(athrill)を使用して TOPPERS/ATK2 を実行する
https://qiita.com/kanetugu2018/items/b43c5715124f42a0393d

athrill(アスリル) を使用して TOPPERS OS(ASP3) をデバッグ
https://qiita.com/kanetugu2018/items/1f2ef93c9e1fa7a29f97

athrill(アスリル)を使用してC言語ポインタ変数を理解する
https://qiita.com/kanetugu2018/items/b9ad84c2f74324174864

TOPPERS/TTSPをathrillで動作させる(作成中)
https://qiita.com/kanetugu2018/items/ac2f73529feef41c0c0d

TOPPERS/TTSPをathrillで動作させる(TTSP のターゲット依存コードを実装する)
https://qiita.com/kanetugu2018/items/43fdcb578f1d9c1dcbcb

SPARC(Sun)

SPARC Assembly Language
https://qiita.com/kaizen_nagoya/items/4f084f63eb0420d7b3b3

powerPC(IBM)

PowerPCアセンブリ チートシート
https://qiita.com/kitayuta/items/ad7bde187a3509de020b

PowerPC(アセンブラ)
https://qiita.com/kaizen_nagoya/items/1e7741b1a59b3a31416f

MIPS(Microprocessor without Interlocked Pipeline Stages)

MIPS-32のレジスタ一覧
https://qiita.com/drib__/items/ff2f962367390fc59221

アセンブリ言語(MIPS)でソート
https://qiita.com/mpyw/items/c45ec2b80303ce40d7cf

自作CPUを創る際に効率よくテストケースを準備する方法
https://qiita.com/varmil/items/be190fe50516c52aab3e

MIPS(アセンブラ)
https://qiita.com/kaizen_nagoya/items/f8247a26ffb801b2beb6



10:44 | 投票する | 投票数(0) | コメント(0)
2018/07/30

GitHub, bitbucket 事始め, 小川清, 2018,

Tweet ThisSend to Facebook | by kaizen
 GitHub, bitbucket 事始め, 小川清, 2018,


Github, bitbucketを使い始めてから何年か経つ
なかなか操作方法を習得できず、誤操作ばかりして、色々迷惑をかけている。
今般、Githubに掲載している事業に対して、作業診断を試行することになった。
そこで、Github, bitbucketの操作方法、考え方、誤操作の復帰方法などを整理しておきたい。
また、Githubへの記載事項、記載方法で、制約・仕様、設計・試験をどこに何を記載すると良いかを検討する。
github
Githubを知る【Mac】 (´・ω・`)←初心者
https://qiita.com/Pana/items/8c6cda5a2bcbf2525c6e
はじめての開発【GitHub】
https://qiita.com/hak_chami/items/4f46456ea25d7f9e3010
【Git】基本コマンド
https://qiita.com/konweb/items/621722f67fdd8f86a017
Gitの使い方メモ
https://qiita.com/__init__/items/4729037bef5138155936
gitコマンドの使用手順についてのメモ
https://qiita.com/taoki11111/items/917fc65ed5389098c3f8
github
https://qiita.com/icelandnono/items/a19b92a2c3a14f478e6b
githubの初期設定
https://qiita.com/iiynuu_jp102/items/9f7b202aff0ec71832f1
github で 空のプルリクエストを作る手順
https://qiita.com/kasei-san/items/ef2e9abbea043b7471f1
github 版本的回溯
https://qiita.com/kakeru_34/items/3a9bbbda5a3ca057115a
Gitチートシート
https://qiita.com/ktarow/items/1d8c8ae698a88b1d6f0f
Gitにpush
https://qiita.com/gkumi5638/items/26f1b8dfe129869d238e
ブランチ切って更新してマージするまでの流れ
tigとgit(初心者、初学者向け)
https://qiita.com/chao____/items/47c42c7accff45f08e6e
git reset 解説
https://qiita.com/forest1/items/f7c821565a7a7d64d60f
GitHubでWebページを公開する方法
https://qiita.com/Yuki_Yamashina/items/5d8208c450195b65344c
windows環境の git で改行コードの自動変換に注意
https://qiita.com/yokoh9/items/1ec8099696ade0c1f36e
githubとsourcetree連携(画像あり、初めての方向け)
https://qiita.com/tomoharutsutsumi/items/b333ae7866c17c3134bb
GitHubでマージ済のプルリクをrevertした後に引き続きrevertされたブランチで作業を続行したい時
https://qiita.com/bigplants/items/3d1d3ada97d0c86d2548
gitHubでssh接続する手順~公開鍵・秘密鍵の生成から~
https://qiita.com/shizuma/items/2b2f873a0034839e47ce
githubエラー
gitのメモ fatal: remote origin already exists.
https://qiita.com/hatorijobs/items/1cae1946656ece954c63
gitをWindowsのコマンドラインで叩いてエディタが無いと言われたとき
https://qiita.com/t_mitarai/items/a240f7c44b3986b01fec
git pushがrejectされたときの解決方法URLまとめ
https://qiita.com/kaw/items/767deb773223fe013ada
Githubのsshで何故かPermission denied (publickey)となる場合の設定メモ
https://qiita.com/koara-local/items/9cc615be6b4b60f5654d
[GitHub] 公開鍵登録の際に、Permission denied (publickey). が出続ける場合の対応 (vagrantからsshする場合の注意も)
https://qiita.com/colorrabbit/items/6c3e96c394bb0f753ea0
githubに接続できない時の対処法
https://qiita.com/nyanchu/items/32d65c4c36315b876d38
bit bucket
コマンド
cloneを押し
hg https://kaizennagoya@bitbucket.org/yoshihiro503/proofcafe
事例1
install hg
$ hg clone https://kaizennagoya@bitbucket.org/yoshihiro503/proofcafe
-bash: hg: command not found
$ brew install hg
hg clone
$ hg clone https://kaizennagoya@bitbucket.org/yoshihiro503/proofcafe
destination directory: proofcafe
requesting all changes
adding changesets
adding manifests
adding file changes
added 34 changesets with 48 changes to 16 files
new changesets 57cc9f722cef:95f9b79b7fc1
updating to branch default
事例2
https://kaizennagoya@bitbucket.org/toppers_ssp/toppers_ssp.git
$ git clone https://kaizennagoya@bitbucket.org/toppers_ssp/toppers_ssp.git
Cloning into 'toppers_ssp'...
Password for 'https://kaizennagoya@bitbucket.org':
remote: Invalid username or password. If you log in via a third party service you must ensure you have an account password set in your account profile.
fatal: Authentication failed for 'https://kaizennagoya@bitbucket.org/toppers_ssp/toppers_ssp.git/'
renew passwd
$ git add toppers_ssp
$ git commit toppers_tsp -m "first"
error: pathspec 'toppers_tsp' did not match any file(s) known to git.
$ git commit toppers_ssp -m "first"
[master e8e3c6e] first
 Committer: OgawaKiyoshi <ogawakiyoshi@OgawaKiyoshi-no-MacBook-Pro.local>
Your name and email address were configured automatically based
on your username and hostname. Please check that they are accurate.
You can suppress this message by setting them explicitly:
    git config --global user.name "Your Name"
    git config --global user.email you@example.com
After doing this, you may fix the identity used for this commit with:
    git commit --amend --reset-author
 642 files changed, 489682 insertions(+)
...
$ git push origin master
Counting objects: 765, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (663/663), done.
Writing objects: 100% (765/765), 6.90 MiB | 1.34 MiB/s, done.
Total 765 (delta 329), reused 0 (delta 0)
remote: Resolving deltas: 100% (329/329), done.
To https://bitbucket.org/toppers_ssp/toppers_ssp.git
   e5ae5ba..e8e3c6e  master -> master
導入編
【tutorial】Bitbucketのアカウントを作成
https://qiita.com/d778980/items/31aa6cafc8d676109444
Bitbucketの導入手順
https://qiita.com/yukihigasi/items/a788039801bee07e55a1
Bitbucketでチームを作成し、メンバーを追加する。
https://qiita.com/happy41111/items/12b231f12ac23aa51623
操作編
[Bitbucket]gitコマンドでBitbucketを操作する 〜基本編〜
https://qiita.com/yyosuke/items/986dabc9906674e2ea97
Bitbucket+Trello+Slackを連携してカード作ったり通知したり
https://qiita.com/daisuke1120/items/c8f1db41545081ac3cbc
bitbucketのAPIを使って、ダウンロードファイルの作成/取得を行う
https://qiita.com/k-yamada-github/items/1c7422f1c2c0e2d6fdb9
bitbucketへのpush時に毎回パスワード入力しなくて済むようにする
https://qiita.com/chiharuisaki/items/e42b010b432aa0a0156e
ローカルの git リポジトリを Bitbucket に追加する手順
https://qiita.com/monta31538/items/02bfcf0d8404b9a5754a
意外と知られていない、BitbucketでもGithub PagesのようにWebページを公開 :)
https://qiita.com/n0bisuke/items/8576456f2e329cb1df45
新規作成アプリをBitbucketにあげる
https://qiita.com/fkana/items/1db89111dab786fe0c85
既存のプロジェクトをBitBucketに上げるには?
https://qiita.com/fmaeyama/items/675f3b3f0c5e085c2766
sourcetree
【tutorial】既存プロジェクトをGit管理に追加→Bitbucketにプッシュ(GitBash)
https://qiita.com/d778980/items/06a7653f58d8b94c0674
sourcetreeをmacで使う際のsshキーの設定
https://qiita.com/nnmr/items/09aadb6107a1a5eb6188
Bitbucket-owner譲渡-
https://qiita.com/suzukiriho0107/items/424aeff2ab19ec576cef
参考資料(reference)
わかばちゃんと学ぶ Git使い方入門 湊川あい
https://www.amazon.co.jp/dp/4863542178/
Gitが、おもしろいほどわかる基本の使い方33〈バージョン管理、SourceTree、Bitbucket〉大串肇
https://www.amazon.co.jp/dp/4844365010/
独習Git リック・ウマリ
https://www.amazon.co.jp/dp/4798144614/
Gitによるバージョン管理 岩松信洋
https://www.amazon.co.jp/dp/4274068641/
わかる-Git 冨永和人
https://www.amazon.co.jp/dp/B00IAOPGDO/


https://qiita.com/kaizen nagoya/items/198c4dc14b12e86d8b3e

09:50 | 投票する | 投票数(0) | コメント(0)
2018/07/30

Docker をどっかーらどうやって使えばいいん でしょう。TOPPERS/FMP on RaspberryPi with Macintosh 編5 つの関門

Tweet ThisSend to Facebook | by kaizen
 Docker をどっかーらどうやって使えばいいん
でしょう。TOPPERS/FMP on RaspberryPi
with Macintosh 編5 つの関門, 小川清, 2018,

7

第1章 Dockerをどっかーらどうやって使えばいいんでしょう。

1.1 Raspberry Pi

ここでは、Raspberry Pi3を使っています。RaspbianのSDカードがあれば、そこにフォルダを作り、Raspbianを退避させてTOPPERS/HRPをコピーして使います。

第一段階:クロスコンパイル
第二段階:シリアルでモニタ
USB-シリアルピンのケーブルがあればモニタで確認できます。
https://www.amazon.co.jp/dp/B01KZWJRRE/
海外だったので2箇所に10本づつ発注。到着日時が同時だったのには驚き。

http://www.prolific.com.tw/US/ShowProduct.aspx?p_id=229&pcid=41

第三段階:デバッガでデバッグ(追記予定)

Raspberry Pi2, Raspberry Piを使ったTOPPERS/SSPの動かし方は、
https://github.com/alvstakahashi

1.2 TOPPERS/FMP

https://www.toppers.jp/fmp-e-download.html
のRaspberry PI版を Macintoshで生成するための方法です。
TOPPERSはオープンソースのリアルタイムカーネルを提供しています。
FMPはFlexible Multiprocessor Profileの略で、マルチコアに対応したカーネルです。

1.3 「名古屋のIoTは名古屋のOSで」

この資料は2017年TOPPERS開発者会議において名古屋大学の本田晋也さんが行った演習を基に作成しています。
Raspberry PIをraspbian以外でも使う実験を行います。
名古屋大学で設計されたTOPPERS/FMP, 杉本明加さんと名古屋市工業研究所で実装したTOPPERS/SSPなど名古屋のOSを試します。

2017年12月開催の「名古屋のIoTは名古屋のOSで」セミナで、名古屋市工業研究所の斉藤直希が用意したものに基づいています。
ここではMacintoshで説明します。Windowsでも、同じようにDockerを利用することができます。下記を参考に実行してみてください。

1.4 Docker

Dockerは、コマンドラインの仮想環境を作るソフトです。
Linuxではサーバ機能を使い、Windows, MacintoshではDesktop機能を使います。サーバ、仮想環境ともUbuntuが代表的です。ServerはUbuntuだけでなくDebian系のLinux始め、多くのLinuxで動作するLinux(ubuntu)のコマンド環境を提供してくれます。

MacintoshではDockerのDesktop機能であるdockerアプリを導入します。Dockerアプリの導入・起動は、下の「5つの関門」参照。
第一章はdockerを導入ずみを前提にしています。実行してみて、うまくいかなかったら、第二章の「5つの関門」をお読みください。

1.5 注意点

Macintoshでdockerを使う場合にわかりにくいところは、dockerを起動したコマンドプロンプトの状態とdockerの状態が似ていることです。
そのままさっきとあまり違いがなく、すでにdockerの中にいる状態になる。

Macintoshのコマンドと、dockerの内部とでは"$"の前に付いている文字列が代わっているはずです。
ここでは、固有名詞を避けるためにコマンドプロンプトを省略しています。
以下、dockerの中の入力促進記号(prompt)は"$$"と表記します。お使いの画面には$しか現れていません。

1.6 コマンド実行(Macintosh)

Macintoshのコマンド(プロンプト)で

$ docker pull kaizenjapan/dockertoppersfmprpi64_fmp:kaizenjapan

$は入力促進記号(prompt)です。この文字を入れる必要はありません。
セミナで実行したdockerで一部修正したものを保存(push)したものを取り出す(pull)する作業です。

dockerコマンドのログ(例)

実行のログ(例)のはじめの部分はこちら。

kaizenjapan: Pulling from kaizenjapan/dockertoppersfmprpi64_fmp
8f7c85c2269a: Pull complete 
9e72e494a6dd: Pull complete 
3009ec50c887: Pull complete 
9d5ffccbec91: Pull complete 
e872a2642ce1: Pull complete 
30b8a79ef712: Pull complete 
dd62d57c37c5: Pull complete

続きは
https://researchmap.jp/joxehp3dn-2000107/#_2000107
こんな感じなら大丈夫。
あるいは、一度pullしたことがあると

$ docker pull kaizenjapan/dockertoppersfmprpi64_fmp:kaizenjapan
kaizenjapan: Pulling from kaizenjapan/dockertoppersfmprpi64_fmp
Digest: sha256:52e9f56dd33306e177ec8ed5cba8995a7ff3204a713855cec32601f723f23f5c
Status: Image is up to date for kaizenjapan/dockertoppersfmprpi64_fmp:kaizenjapan

dockerのfmpコンパイル用イメージがうまくできているかの確認。

$ docker images
REPOSITORY                              TAG                 IMAGE ID            CREATED             SIZE
kaizenjapan/dockertoppersfmprpi64_fmp   kaizenjapan         b329efb0b44b        23 hours ago        1.24GB

逆に言えば、前docker pullしたことがあれば、docker imagesを実行してみれば、docker pullする必要はない。

1.7docker起動(2つ目のdockerコマンド)

$ docker run -it kaizenjapan/dockertoppersfmprpi64_fmp:kaizenjapan /bin/bash

コマンドの結果、コマンドのプロンプトが「administrator@e40a06773578:~$」と変わっていれば大丈夫。
下記の警告は、すでにdockerで走っている状態。

To run a command as administrator (user "root"), use "sudo <command>".
See "man sudo_root" for details.

apt-getなどは sudo を先につけて実行するとよいことが分かります。
プロンプトが少し変わってることに注目してください。"Machine"という機器名のMacに"user"という名前でMacログインしていたとしたら

# Macintosh
Machine:~ user$
# docker:ubuntu
user@846978ad203c:~$ 

プロンプトで見分けにくければ、Docker内部にいるかどうかを確かめるには、例えば、

$ ps -ax
  PID TTY      STAT   TIME COMMAND
    1 pts/0    Ss+    0:00 /bin/bash
   17 pts/1    Ss     0:00 bash --login
 5004 pts/1    R+     0:00 ps -ax

こんな感じです。Macintoshでは、いっぱいプロセスが走っているはず、、、。

1.8 docker内でコマンド実行

起動したdockerの中で

README.md
$$ cd workdir
$$ sudo ../scripts/build_fmp.sh
# http://bit.ly/2nRx6nN by Satito naoki

$$は入力促進記号(prompt)です。この文字を入れる必要はありません。'#'の行は註釈(comment)です。コマンド列の入力手順の説明が書かれています。

logの例です。

--2018-02-07 16:38:21--  https://releases.linaro.org/components/toolchain/binaries/7.1-2017.08/aarch64-elf/gcc-linaro-7.1.1-2017.08-x86_64_aarch64-elf.tar.xz
releases.linaro.org (releases.linaro.org) をDNSに問いあわせています... 52.77.230.32
releases.linaro.org (releases.linaro.org)|52.77.230.32|:443 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 302 FOUND
場所: https://publishing-ap-linaro-org.s3.amazonaws.com/releases/components/toolchain/binaries/7.1-2017.08/aarch64-elf/gcc-linaro-7.1.1-2017.08-x86_64_aarch64-elf.tar.xz?

* snip *

../arch/arm64_gcc/common/core_def.csv sample1.cfg
check complete
aarch64-elf-objcopy -O binary -S fmp fmp.bin

fmp.binができていればOK.

docker内のコマンドのログ(docker軌道からの一連のlog)

エラーが出たりして、実行結果が違うかもしれないと比較するためのlogファイルはこちら
https://researchmap.jp/mulbu8wxa-45645/?action=multidatabase_action_main_filedownload&download_flag=1&upload_id=152852&metadata_id=25961

1.9 ファイルのコピー

置くモノ :
fmp.bin ,
config.txt(RPi64Toppers直下) ,
start.elf , bootcode.bin(https://github.com/raspberrypi/firmware/tree/master/boot からダウンロード)

Raspbianのmicro SDカードを利用する場合

backupフォルダを作り、ルートディレクトリにあるファイルを全てbackupフォルダに移動して
上記4ファイルだけにすればTOPPERS/FMPが起動します。
FMPフォルダを作り、4ファイルをFMPフォルダに移動し、backupフォルダの中身をルートに戻せば、Raspbianが起動します。

1.10 USB serial 接続

Raspberry PiでTOPPERS(TRON系OS)
http://domisan.sakura.ne.jp/article/rp_toppers/rp_toppers.html

当方の場合は、黒(gnd:6), 白(8)、緑(10)

1.11 minicomの導入・起動

Mac OS X Mountain Lion で RaspberryPi とシリアル接続する
http://cat-s-tail.blogspot.jp/2013/10/Mac-OS-X-Mountain-Lion-RaspberryPi-serial.html

brew install minicom

1.12 起動

micro SDカードを刺して、電源を入れる。

TOPPERS/FMP Kernel Release 1.4.0 for RPI-ARM64(BCM283X(Cortex-A53)) (Feb  7 2018, 09:25:47)
Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory         
                            Toyohashi Univ. of Technology, JAPAN             
Copyright (C) 2004-2015 by Embedded and Real-Time Systems Laboratory         
            Graduate School of Information Science, Nagoya Univ., JAPAN

Processor 4 start.                      
Processor 3 start.                      
local_inirtn exinf = 4, counter = 1     
Processor 1 start.                      
local_inirtn exinf = 3, counter = 2
local_inirtn exinf = 1, counter = 3
Processor 2 start.
local_inirtn exinf = 2, counter = 4
Server task 3 starts.
Server task 4 starts.
Server task 2 starts.
CPU exception handler1 (p_excinf = 0002e560).
sns_loc = 0 sns_dsp = 1 sns_tex = 1
xsns_dpn = 1 xsns_xpn = 1
Sample program ends with exception.
local_terrtn exinf = 1, counter = 5
local_terrtn exinf = 4, counter = 7
local_terrtn exinf = 3, counter = 7
local_terrtn exinf = 2, counter = 6
global_terrtn exinf = 0, counter = 8

やったー、動いた。

第二章 TOPPERS/FMP on Raspberry Pi with Macintosh編 5つの関門

TOPPERS/FMPをMacintoshでコンパイルするのにいくつかの関門がある。

2.1 関門1 クロスコンパイラのコンパイル

最大の関門はクロスコンパイラのコンパイル。この関門を潜るために、dockerを使う。

Macintoshでは、大文字小文字の識別、ファイル名の長さがの制約がLinuxと異なる。そのためLinuxでうまく行くことがMac OSXではうまくいかないことがある。
設定をいじるより、docker/ubuntuで操作する方が簡単。

docker for TOPPERS/FMP

ビルドするためのDockerプロジェクト.by Saito Naomi
https://github.com/nmiri-nagoya-nsaito/docker-toppers-fmp-rpi64

準備1 Xcodeとコマンドラインツールの導入

XcodeはApple Storeから無償で導入できます。
「Xcode」検索

コマンドラインツールは、Xcode導入後、

$ xcode-select --install

準備2 brewの導入

$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

準備3 git, wget, nkf導入

$ brew install git
$ brew install wget
$ brew install nkf

準備4 dockerアプリ導入

Macintoshにdockerアプリを導入

$ brew cask install docker

https://www.docker.com/get-docker

準備5 dockerアプリ起動

アプリケーションフォルダのDockerアプリをダブルクリック。

アプリが起動していないと、コマンドラインで次のエラーが出る。

$ docker ps -a
bash: docker: command not found

dockerの中でも上記のエラーが出る。
dockerのわかりにくいところは、dockerを起動したコマンドプロンプトで、
そのままさっきとあまり違いがなく、すでにdockerの中にいる状態になること(大事なことなので2度書きました)。

dockerの起動状態の確認(プロセス編)

dockerが起動しているかどうかは、dockerアイコンが起動アプリ一覧の中にあるか、または次のコマンドを叩くとわかる。

$ ps -ax | grep docker

実行

gitコマンドを投入

README.md
$ git clone https://github.com/nmiri-nagoya-nsaito/docker-toppers-fmp-rpi64.git
# http://bit.ly/2nRx6nN by Satito naoki

続いて次のコマンドを

README.md
$ cd docker-toppers-fmp-rpi64
$ ./start_shell.sh
# http://bit.ly/2nRx6nN by Satito naoki

目的のdockerがすでに起動していれば、buildしない設定になっているらしい。

start_shell.sh
...
if["x$(docker-compose ps -q${SERVICE})"="x"];then
  docker-compose build ${SERVICE}
fi
...
# http://bit.ly/2nRx6nN by Satito naoki

 うまくいったらdockerの内部で次のコマンドを実行。

README.md
$$ cd workdir
$$ ../scripts/build_fmp.sh
# http://bit.ly/2nRx6nN by Satito naoki

うまくいけば、configuratorのコンパイル、設定をし、カーネルをコンパイルする。

2.2 関門2 configuratorの導入

TOPPERSのカーネルのコンパイルで、configuratorの導入で迷うこと、困ることがしばしば。

configuratorのコンパイル

configuratorは、ホストOS(今回はubuntu)のコンパイラでコンパイルする。クロスコンパイラではない。

configuratorの置き場所

configuratorは、任意の場所においておいて、ln -sでシンボリックリンクを作るのが良さげ。
先ほどのスクリプトで、

../scripts/build_fmp.sh: 22 行: cd: RPi64Toppers/fmp/cfg/cfg: そのようなファイルやディレクトリはありません

というエラーが出る。cfgというフォルダが二重に必要。今回は、そのどちらも作成されていない。

scripts/build_fmp.sh
...
cd RPi64Toppers/fmp/cfg/cfg
ln-s ../../../../cfg-1.9.6/cfg/cfg cfg
cd ../../
...
# http://bit.ly/2nRx6nN by Satito naoki

となっている。これは一括実行するスクリプトファイルであるため入力促進記号は表示していない。

...
cd RPi64Toppers/fmp/
mkdir cfg
cd cfg
mkdir cfg
cd cfg
ln -s ../../../../cfg-1.9.6/cfg/cfg cfg
cd ../../
...

に変更した。これでうまく通った。手でコマンドを一つづつ打っても(コピペしても)良い。

configuratorの呼び出し方

シンボリックリンクが貼ってあることと、Pathが通っていることが大事。

dockerの処理の途中でエラーになって、Pathがうまく通っていない状態になったことがある。

scripts/build_fmp.sh
...
echo'export PATH=$HOME/workdir/aarch64-elf-gcc/bin:$PATH'> ~/.bash_profile
source ~/.bash_profile
...
# http://bit.ly/2nRx6nN by Satito naoki

の各行を順にコピペして実行したらうまく行った。原因は不明。

2.3 関門3 カーネルのコンパイル

intelのCPU上で、Raspberry PiのARMのCPU用のコンパイルをするには、クロスコンパイラでコンパイルします。関門1がうまく行っていれば大丈夫。

最初からソースコードを書き換えずに、最初は、あるものがそのままで動くかどうかを確かめてから、少しづつ動かすとよい。あちこち一遍に作ると、何がうまく行かない原因かを特定しづらい。

2.4 関門4 どっかーでエラーが起きた時の対処方法

dockerが起動しているかどうか(docker ps編)

docker以外のコマンドプロンプトから実行。

$ docker ps -a
CONTAINER ID        IMAGE                       COMMAND             CREATED             STATUS              PORTS               NAMES
2a02eaf04fef        dockertoppersfmprpi64_fmp   "/bin/bash"         37 minutes ago      Up 37 minutes                           dockertoppersfmprpi64_fmp_1

コマンドがない

'command'がない場合と、PATHがきれてない場合がある。

$ find / -name 'command' name -print

でコマンドを探そう。

Macintosh側に必要な'command'の場合は次のいずれか。

$ brew install 'command'
$ brew cask install 'command'

Docker内のUbuntuで"command"名のコマンドがない場合は、

$$ apt-get install command
$$ sudo apt-get install command

PATHがきれてない

$$ echo 'export PATH=$HOME/workdir/aarch64-elf-gcc/bin:$PATH' > ~/.bash_profile
$$ source ~/.bash_profile

といった感じで、~/.bash_profileに設定を追加しよう。

一度失敗すると

一度失敗すると、フォルダはすでに存在している。そのため、

mkdir: cannot create directory 'aarch64-elf-gcc': File exists

というエラーが出て進まないことがある。

mkdirをif文で囲むか、mkdirのないrebuildのようなスクリプトを作るか。
ただ、どこまでmkdirがうまく行ったかで、条件が違うのなら、mkdir をif文で囲むのが良さそう。

文字の間違い

焦っていると、打ち間違いが増えて、余計にややこしくなる。
Pathの設定、ファイル名、フォルダ名など、間違えて作ってしまうと、
ややこしや。

Dockerのよいところは、それまでのものを捨て去って、一からまた始めるのが容易にだということ。

2.5 関門5 通信がうまくいっていない場合

通信エラー

$$ ../scripts/build_fmp.sh 
--2018-02-07 08:45:58--  https://releases.linaro.org/components/toolchain/binaries/latest/aarch64-elf/gcc-linaro-7.1.1-2017.08-x86_64_aarch64-elf.tar.xz
releases.linaro.org (releases.linaro.org) をDNSに問いあわせています... 52.77.230.32
releases.linaro.org (releases.linaro.org)|52.77.230.32|:443 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 404 NOT FOUND
2018-02-07 08:45:59 エラー 404: NOT FOUND。

dockerで最初の導入、実行はうまく行った。wgetコマンドで急に通信エラー。
原因は調査中。他の機材でやったら出なかったのでひとまず放置。

wiresharkでの確認

Wiresharkでパケットを取得すると良い。

Macintosh

$ brew cask install wireshark

参照 MacintoshにWiresharkを導入する5つの壁

https://qiita.com/kaizen_nagoya/items/69eb2d357a125f5368e1

docker/ubuntu

$$ sudo apt-get install wireshark

コマンドラインでのTsharkとしてご利用ください。

参照 tsharkコマンドの使い方

https://qiita.com/hana_shin/items/0d997d9d9dd435727edf

第三章 対処したものをdockerにあげる

せっかくうまく行ったら、dockerに変更したものをあげるとよい。
元がgitにあるのであれば、gitを更新するのがよい。

ただし、いろいろな確認をするために、自分用のdocker hubにあげて、いろんな人に試してもらうのもよい。

3.1 dockerの状況

$ docker ps -a
CONTAINER ID        IMAGE                       COMMAND                  CREATED             STATUS                          PORTS               NAMES
d16cdf58b5e5        dockertoppersfmprpi64_fmp   "/bin/bash"              About an hour ago   Exited (0) About a minute ago                       dockertoppersfmprpi64_fmp_1
8d864084ea72        ubuntu:xenial               "/bin/bash"              2 weeks ago         Exited (255) 2 weeks ago                            epic_lichterman

3.2 Docker HUBのID設定

https://cloud.docker.com/

メールアドレス、パスワードを設定する。

メールが来る。

メールの中にURLをダブルクリックする。

(This link will expire in 2 days.)

2日は有効らしい。

3.3 Docker Image の保存

$ docker commit dockertoppersfmprpi64_fmp_1 dockertoppersfmprpi64_fmp:kaizenjapan

Docker HUBへの登録

$ docker push kaizenjapan/dockertoppersfmprpi64_fmp:kaizenjapan
The push refers to repository [docker.io/kaizenjapan/dockertoppersfmprpi64_fmp]
0824ca26fac8: Pushed 
a293d97b521d: Pushed 
b7bc844f348e: Pushed 
3da3c8eae2d4: Pushed 
4fe000695a8c: Pushed 
7b2fcb653ca7: Pushed 
60104d5eb99b: Pushed 
85e35c87a208: Pushed 
9f8d765fe04e: Pushed 
8600ee70176b: Pushed 
2bbb3cec611d: Pushed 
d2bb1fc88136: Pushed 
a6a01ad8b53f: Pushed 
833649a3e04c: Pushed 
kaizenjapan: digest: sha256:52e9f56dd33306e177ec8ed5cba8995a7ff3204a713855cec32601f723f23f5c size: 3241

3.4 Docker HUBからの利用

$ docker pull kaizenjapan/dockertoppersfmprpi64_fmp:kaizenjapan

$ docker run -it kaizenjapan/dockertoppersfmprpi64_fmp:kaizenjapan /bin/bash

dockerの中で

$$ cd workdir
$$ sudo ../scripts/build_fmp.sh

この節は、最初に出てきたものと同じです。

4 振り返り

4.1 わかったこと

Macintoshのintelセルフコンパイラ(X-code:brewでの導入に使う場合がある)、gccのintelセルフコンパイラ、gccのarmクロスコンパイラの3種類のコンパイラを使う可能性がある。
dockerを使うことで、クロスコンパイラの環境をMacの環境と分離できる
失敗したら丸ごと容易に捨てられる
dockerのわかりにくいところは、dockerを起動したコマンドプロンプトとdockerのコマンドプロンプトとあまり違いがなく、dockerの中にいるのかどうかが分かりにくいこと。(大事なことなので3度書きました)。

4.2 わからなかったこと

クロスコンパイラのコンパイルの課題
configuratorの内容
デバッグの仕方

4.3 よかったこと

やったー。動いた。

4.4 あらためたいこと

gitへの改訂版の登録。元のファイルはgitに登録されている。
デバッグの資料の作成

5 資料

5.1 名古屋のIoTは名古屋のOSで

saito naokiのgit等は「名古屋のIoTは名古屋のOSで」セミナで提供したものです。
https://researchmap.jp/jo39c0wgq-2000107/
https://researchmap.jp/josk89af0-1778110/?block_id=1778110&active_action=journal_view_main_detail&post_id=65395&comment_flag=1

次回は2018年2月22日(土)午後1時から@名古屋市工業研究所(地下鉄六番町下車1分)

Dockerどっかー使い方おかしかったんでしょうか。TOPPERS/SSP on RaspberryPi with Macintosh編:5つの関門
https://qiita.com/kaizen_nagoya/items/cbf40186ae4da48ec4c7

5.2 Windows

docker for windowsのInstallerをダウンロード

https://download.docker.com/win/stable/Docker%20for%20Windows%20Installer.exe

ダブルクリックして実行。

http://blog.saboh.net/windows10proaddgroup/

5.3 関連情報

JTAGの接続方法 ​https://www.evernote.com/shard/s32/sh/2d01955e-b8b6-45e5-a779-3681b6ddeec9/52c678c97c6a78ff
JTAGの使い方 ​https://qiita.com/toshinaga/items/146bcb00db235258162f
FMPの実行方法 ​https://qiita.com/toshinaga/items/672c41a1f390922d5bae
ベアメタル情報 ​https://qiita.com/toshinaga/items/8999d3fcda8e2c3e2667

RPi3用 TOPPERS/FMP
https://github.com/YujiToshinaga/RPi64Toppers

5.4 参照情報

Raspberry PIのSDカードをRaspbian, TOPPERS/FMP, TOPPERS/SSP起動用に利用する
https://qiita.com/kaizen_nagoya/items/814cccdaa59dc09196e3

Dockerコンテナをイメージに保存する
https://qiita.com/momoham/items/df4c5e97fe630cccc1e5

Dockerの作業済みコンテナからイメージを作って移植を楽にする
https://qiita.com/tubone/items/a3bad04abf4c700cae3d

Dockerでcommitしてみる
https://qiita.com/mats116/items/712575dc50513dfdf0a2

DockerImageをDockerHubに登録の仕方
https://qiita.com/kon_yu/items/7c40f4dfbd1cce006ce7

GitHub 入門
https://qiita.com/ay3/items/8d758ebde41d256a32dc

Docker 虎の巻 at GitHub
https://gist.github.com/tcnksm/7700047

機械学習名古屋 勉強会用の Dockerイメージ 解説
https://qiita.com/antimon2/items/07890addf534f2e0b779#_reference-9d9783bf9ca2df932b9c

ゼロから作るDeep Learningの学習環境をDockerで作った at Hatena blog
http://yuki10.hatenablog.com/entry/2017/01/11/020924

だいたい10分でざっくり押さえるDockerの基本 at web professional
https://www.webprofessional.jp/how-to-build-an-image-with-the-dockerfile/

Dockerhubへの初プッシュ
https://qiita.com/moru3/items/32931813db81d891effb

Dockerコンテナのリポジトリ管理 DockerHubへログイン、イメージの取得〜更新、コミットまで。
https://qiita.com/kooohei/items/1e007fe650c6aa7eaac4

Docker Hubのイメージを利用する時の注意点と判断材料
https://qiita.com/satotka/items/5ece24499bcddd9f13b0

Docker Registry Hub にイメージをpushしたい
https://qiita.com/suin/items/20d735823e158196983e

DockerのImageからDockerfileを取り出せるか?
https://qiita.com/PharaohKJ/items/7fa708a19391c80629fe

用語集

Docker https://ja.wikipedia.org/wiki/Docker
  OSを導入(install)作業をせずに利用できる仮想化(virtual)OS.代表的にはubuntuを利用する。
ubuntu
  Debian系のLinux配布(distribution)
Macintosh
  Mac OSXが動作するPC
TOPPERS
http://toppers.jp
FMP:Flexible Multiprocessor Profile

SSP:Smallest Set Profile kernel

qiita
http://qiita.com

Github
http://github.com

Raspberry Pi
https://www.raspberrypi.org

Wireshark
https://www.wireshark.org

gcc
https://gcc.gnu.org

入力促進(command prompt)

記録(log)

コンパイル

コマンド一覧

システムコマンド

docker
https://www.docker.com
wget
https://www.gnu.org/software/wget/
git
https://github.com
ruby
https://www.ruby-lang.org/ja/
brew: mac
https://brew.sh/index_ja.html
apt-get: debian/ubuntu/raspbian
https://wiki.debian.org/apt-get

シェルコマンド

ps
process status。プロセスの状態を表示するコマンド。
ln
リンク。別名で連携するコマンド。
cd
change directory。ディレクトリを移動するコマンド
mkdir
ディレクトリを作成するコマンド
echo
文字を出力するコマンド。
source
シェルスクリプトを実行するコマンド
find
https://ja.wikipedia.org/wiki/Find
grep
https://ja.wikipedia.org/wiki/Grep
sudo
https://ja.wikipedia.org/wiki/Sudo





09:46 | 投票する | 投票数(0) | コメント(0)
12345