Differences

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

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
projects:vlam:pbcc:pbcc [2011/11/25 12:53] krivkaprojects:vlam:pbcc:pbcc [2017/08/30 12:09] (current) – [Related links] krivka
Line 56: Line 56:
  
 ==== Limits of the compiler ==== ==== Limits of the compiler ====
-  * no linkage - PicoBlaze-3 processsor is so small that linkage has no practical usage, you can use only text-based header/source include using #include directive for the preprocessor+  * no linkage - PicoBlaze-3 processsor is so small that linkage has no practical use, you can use only text-based header/source include using #include directive for the preprocessor
   * no standard library - there is no implementation for standard C library such as stdio, string, etc. (most of the functions are just too big to fit into its small memory)   * no standard library - there is no implementation for standard C library such as stdio, string, etc. (most of the functions are just too big to fit into its small memory)
 +  * no dynamic allocation - there is no malloc or free function to do the memory management
  
 ==== Known bugs ==== ==== Known bugs ====
 As the compiler still has many bugs and missing features, it is good to know them: As the compiler still has many bugs and missing features, it is good to know them:
-  * Global variables not supported yet (working on register allocation optimizations along with the support of global variables) +  * Global variables just partially supported (working on register allocation optimizations along with the support of global variables) 
   * Optimized switch does not work (JUMPTABLE)   * Optimized switch does not work (JUMPTABLE)
   * Missing: Get highest bit, get value at address, pointer set, address of (SDCC iCodes)   * Missing: Get highest bit, get value at address, pointer set, address of (SDCC iCodes)
   * Inlining not supported yet   * Inlining not supported yet
   * Problems with passing array as a function argument   * Problems with passing array as a function argument
 +  * Generated invalid interrupt vector jump code (as a trivial IVT)
  
 ==== Code Examples ==== ==== Code Examples ====
Line 94: Line 96:
   * version 2011-10-27 (based on [[http://marksix.home.xs4all.nl/downloads/Picoasm_29mar08.tar.gz|Picoasm_29mar08.tar.gz]])   * version 2011-10-27 (based on [[http://marksix.home.xs4all.nl/downloads/Picoasm_29mar08.tar.gz|Picoasm_29mar08.tar.gz]])
     * Binary package: {{:projects:vlam:pbcc:picoasm-bin-win32-2011-10-27.zip}} (493 KB)     * Binary package: {{:projects:vlam:pbcc:picoasm-bin-win32-2011-10-27.zip}} (493 KB)
-    * Source code: {{:projects:vlam:pbcc:picoasm-src-2011-10-27.zip}} (23 KB) +    * Source code: {{:projects:vlam:pbcc:picoasm-src-2011-10-27.zip}} (23 KB) (GNU GPL v2)
-(GNU GPL v2)+
     * Modifications by [[http://www.fit.vutbr.cz/~vasicek|Zdeněk Vašíček]]:     * Modifications by [[http://www.fit.vutbr.cz/~vasicek|Zdeněk Vašíček]]:
       * New command-line argument -o that denotes output file without extension (.hex is added)       * New command-line argument -o that denotes output file without extension (.hex is added)
Line 109: Line 110:
  
 ===== Related links ===== ===== Related links =====
-  * [[http://www.openpicide.org|openPICIDE Homepage]] +  * [[http://openpicide.org/content/about/|openPICIDE Homepage]] - IDE for developing assembly code for PicoBlaze 
- +  * [[http://code.google.com/p/pblazasm/|pblazeasm]] - assembler command-line tool for PicoBlaze-3 and PicoBlaze-6 with several useful extensions 
 +  * [[http://www.mediatronix.org/pages/Tools|Mediatronix Tools]] - tools and new graphical simulator for PicoBlaze-3 and PicoBlaze-6 
 +  * [[https://www.fautronix.com/en/fidex|FIDEx]] - new IDE for soft-core processors (supports PicoBlaze-3, -6 and its clones)
projects/vlam/pbcc/pbcc.1322221993.txt.gz · Last modified: 2011/11/25 12:53 by krivka
 
Except where otherwise noted, content on this wiki is licensed under the following license: CC Attribution-Noncommercial-Share Alike 4.0 International
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki