Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
builderpages:plasmo:tinyz280 [2018/02/08 10:03]
plasmo
builderpages:plasmo:tinyz280 [2018/03/23 22:50]
plasmo
Line 41: Line 41:
 The Altera EPM7128 design for UART bootstrap is {{:builderpages:plasmo:tinyz280:tinyzram.pdf|here}}. This is the {{:builderpages:plasmo:tinyz280:tinyzram_program_file.zip|programming file}}. The Altera EPM7128 design for UART bootstrap is {{:builderpages:plasmo:tinyz280:tinyzram.pdf|here}}. This is the {{:builderpages:plasmo:tinyz280:tinyzram_program_file.zip|programming file}}.
  
-When reset button is pressed or when initially powered up, the board expects a 256-byte serial binary data stream. After 256 bytes of data is received, Z280 will start program execution at location 0. TinyLoad is the 256-byte boot program; it has two functions:+When reset button is pressed or when initially powered up, the board expects a 256-byte serial binary data stream. After 256 bytes of data is received, Z280 will start program execution at location 0. TinyLoad is the 256-byte boot program; it has three functions:
  
 +  - It clears memory from 0x100 to 0xFFFF to zero.
   - It expects Intel hex file and save it to memory specified by the load address. It will check every record and print a period (.) if the checksum matches or question mark (?) if the checksum does not match. It will output 'U' for unrecognized record format and 'X' for end of record.   - It expects Intel hex file and save it to memory specified by the load address. It will check every record and print a period (.) if the checksum matches or question mark (?) if the checksum does not match. It will output 'U' for unrecognized record format and 'X' for end of record.
   - It recognizes the 'G' command and transfers the control to the 4-byte address follow the 'G' command. Please note: the 4-byte address is not echo back on the terminal, only the 'G' followed by a blank is displayed.   - It recognizes the 'G' command and transfers the control to the 4-byte address follow the 'G' command. Please note: the 4-byte address is not echo back on the terminal, only the 'G' followed by a blank is displayed.
Line 65: Line 66:
 ==== Step 2, CF Bootstrap ==== ==== Step 2, CF Bootstrap ====
  
-Blahblahblah+(2/11/18) CF Bootstrap is working. The pc board is modified to add a jumper that switch between UART bootstrap and CF bootstrap. The reset connection (T14 & T15) is cut and a new output signal from CPLD is now control the reset of the Z280. This is all the physical modifications required. There are significant more firmware and software changes: 
 + 
 +New CPLD with CF bootstrap state machine (CFinit) and modified memory map. Here is the{{:builderpages:plasmo:tinyz280:tinyzramcf.pdf|schematic}}  and the {{:builderpages:plasmo:tinyz280:tinyzramcf_program_file.zip|programming file}}. The state machine design is rather convoluted. Here is the [[:builderpages:plasmo:tinyz280:cfboot_operation|theory of operation]]. 
 + 
 +CF Bootstrap software is evolving. The current approach is a small (~128 byte) cold bootstrap code located in boot sector of a CF. Before Z280 reset is releasedthe CFinit state machine configured the CF to stream cold bootstrap code out to CF's 16-bit data port. After reset Z280 will execute the code stream which copy a small boot loader into 0x1000 and jump to it whichin turn, load data from sector 2 and 3 and execute. Here is the{{:builderpages:plasmo:tinyz280:cfmonldr.zip|cold}}  {{:builderpages:plasmo:tinyz280:cfmonldr.zip| bootstrap code}}. Here is the utility program to copy cold bootstrap into boot sector. Another utility program to copy software into sector 2 & 3 of CF. The two utility programs will be combined later.
  
 ==== Step 3, CF Bootstrap with DRAM ==== ==== Step 3, CF Bootstrap with DRAM ====
  
-more blah, blah+Blah, blah, blah 
 + 
 +==== Final Step, Putting it all together ==== 
 + 
 +After the various steps of incremental development, this is the [[:builderpages:plasmo:tinyz280:final_step|end product]].
  
  
builderpages/plasmo/tinyz280.txt · Last modified: 2018/03/23 22:50 by plasmo
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0