This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
projects:vlam:pbcc:pbcc [2011/06/03 16:24] – krivka | projects:vlam:pbcc:pbcc [2012/04/19 19:06] – krivka | ||
---|---|---|---|
Line 19: | Line 19: | ||
===== Download ===== | ===== Download ===== | ||
By downloading any of the following files, you agree with its GNU GPL v3 license (see [[http:// | By downloading any of the following files, you agree with its GNU GPL v3 license (see [[http:// | ||
+ | * version 2011-10-24 (fifth public version, beta (SVN rev #59, based on SDCC 3.0.1) | ||
+ | * Binary package: {{: | ||
+ | * Source code: {{: | ||
+ | * Changes: | ||
+ | * Several bug fixes concerning the comparison of signed integers | ||
+ | * version 2011-09-01 (fourth public version, beta (SVN rev #58), based on SDCC 3.0.1) | ||
+ | * Binary package: {{: | ||
+ | * Source code: {{: | ||
+ | * Changes: | ||
+ | * new command-line parameter < | ||
+ | * fixed bug with duplicity of labels | ||
- | * version 2011-06-03 (third public version, beta (SVN rev #51), based on SDCC 3.0.1) | + | * version 2011-06-12 (third public version, beta (SVN rev #52), based on SDCC 3.0.1) |
- | * Binary package: {{: | + | * Binary package: {{: |
- | * Source code: {{: | + | * Source code: {{: |
* version 2011-02-10 (second public version, beta (SVN rev #32), based on SDCC 3.0.1) | * version 2011-02-10 (second public version, beta (SVN rev #32), based on SDCC 3.0.1) | ||
Line 43: | Line 54: | ||
* [[http:// | * [[http:// | ||
* [[http:// | * [[http:// | ||
+ | |||
+ | ==== Limits of the compiler ==== | ||
+ | * no linkage - PicoBlaze-3 processsor is so small that linkage has no practical use, you can use only text-based header/ | ||
+ | * 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 | + | * 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 | ||
+ | * Generated invalid interrupt vector jump code (as a trivial IVT) | ||
==== Code Examples ==== | ==== Code Examples ==== | ||
Line 72: | Line 90: | ||
* Set of {{: | * Set of {{: | ||
+ | ===== PicoAsm ===== | ||
+ | PicoAsm is open source assembler for Xilinx PicoBlaze-3 from George Smith ([[http:// | ||
+ | |||
+ | ==== PicoAsm Download ==== | ||
+ | * version 2011-10-27 (based on [[http:// | ||
+ | * Binary package: {{: | ||
+ | * Source code: {{: | ||
+ | * Modifications by [[http:// | ||
+ | * New command-line argument -o that denotes output file without extension (.hex is added) | ||
===== License ===== | ===== License ===== | ||
Line 81: | Line 108: | ||
* Jakub Horník | * Jakub Horník | ||
* Main programmer of the SDCC port written in C language (as a part of his Master thesis) | * Main programmer of the SDCC port written in C language (as a part of his Master thesis) | ||
+ | |||
+ | ===== Related links ===== | ||
+ | * [[http:// | ||
+ | * [[http:// | ||