微處理器 - NXP MC68HC908JB8 - Assembly - 開發環境



參考資訊:
https://www.sparetimelabs.com/funwith08/funwith08.php
https://www.nxp.com/docs/en/data-sheet/MC68HC908JB8.pdf
https://github.com/ixaxaar/sdcc/blob/master/sdas/doc/asmlnk.txt
https://hackaday.io/project/167952-semyon/log/169905-blink-with-sdas
https://www.nxp.com/files-static/microcontrollers/doc/ref_manual/HCS08RMV1.pdf

司徒目前使用SDCC編譯器,而燒錄軟體則是使用bl08,安裝方式如下:

$ sudo apt-get install sdcc -y

$ cd
$ wget https://github.com/steward-fu/mc68hc908jb8/releases/download/v1.0/bl08.c
$ gcc bl08.c -o bl08
$ sudo cp bl08 /usr/local/bin
$ sudo chmod 0777 /usr/local/bin/bl08
$ bl08
    bl08 burns MC68HC908 Flash memory from S-record file(s) using Monitor mode
    Usage: 
     bl08 [-abcdefhiklmnpqrstuvx] [filename...]
      -a address     Set dump memory address (needs -s option too)
      -b baudrate    Set baudrate for target communication
      -c device      Set serial com device used to communicate with target
                     typically /dev/ttyS0 
      -d dumpformat  Set dump format, supported formats are: 'srec'
      -e             Erase target using mass erase mode, clearing security bytes
      -f             Use fast programming method  -g address     Go execute target code from address or use '-g reset'
      -h             Print out this help text
      -i             Read input (S-records) from standard inputi
      -k             Kill previous instance of bl08
      -l verbosity   Set verbosity level, valid values are 0-4, default 1
      -m             Terminal emulator mode
      -n             Print bl08 version number
      -o param=value Override target parameter value
                     param = ROMBASE,FLASH,PUTBYTE,GETBYTE,RDVRRNG,MONRTN
                             ERARRNG,PRGRNGE,FLBPR,MONDATA,PAGESIZE,EADDR
      -p             Use page erase when programming flash
      -q             Run quietly, same as -l 0
      -s size        Set dump memory size
      -r pulse       Pulse DTR for pulse milliseconds
      -t cputype     Set CPU type, valid values are: 'gz16'
      -u             Upload only (do not program flash)
      -v             Verify when programming 
      -x cpuspeed    Set CPU speed, typically set for Fbus (in MHz) x 4 
      -z             Do not program, do no upload, just read in the S-rec file 
     addresses and sizes in decimal, for hex prefix with '0x'

P.S. MC68HC908JB8可以透過UART直接燒錄,因此,只需要準備一條USB轉UART傳輸線就可以進行燒錄