infineon4engineers Facebook

infineon@google+ Google+

infineon@linkedin linkedin

infineon4engi@twitter twitter

infineon@youtube youtube

+ Reply to Thread
Results 1 to 2 of 2

Thread: SDCC 3.6.0 released

  1. #1
    New Member New Member spth will become famous soon enough
    Join Date
    Jun 2016
    Location
    Yach and Dublin
    Posts
    12
    Points
    47.5

    SDCC 3.6.0 released

    A few weeks ago, SDCC 3.6.0 was released. SDCC is a free C implementation targeting various 8-bit architectures. In particular, it targets architectures that would be hard to target for GCC or LLVM: Few registers, highly irregular register and instruction sets, etc. The architectures supported include 8051. While most other compilers targeting the 8051 only aim for the 1989 ANSI C standard, SDCC aims for support of the newer 1999 and 2011 ISO C standards.

    Here is the release announcement:

    Today a new release of SDCC was made. We are now at version 3.6.0.
    You can get it at:
    sourceforge.n...cts/sdcc/files/

    So what's new?
    * Merged upstream binutils 2.25
    * New memory management with lower overhead
    * Changed default language dialect to --std-sdcc11
    * Diagnostic for missing type specifier: No implicit int outside of C90
    mode anymore
    * C11 generic selections
    * char type is now unsigned by default (old behaviour can be restored
    using --fsigned-char)
    * Character constants are now of type int instead of char.
    * ISO C95 and ISO C11 wide character constants
    * ISO C95 and ISO C11 wide string literals
    * Basic standard library support for wide characters: c16rtomb(),
    mbrtoc16(), mbsinit(), mbtowc(), mbrlen(), mbrtoc32, c32rtomb(),
    mbrtowc(), wcrtomb(), mblen(), wctomb()
    * Treat all ports the same in the manual (i.e. mcs51-specific stuff is now
    clearly described as such)
    * Reorganized interrupt handling for z80, z180, r2k, r3ka, tlcs90, gbz80
    backends
    * Workaround for stm8 division hardware bug
    * ELF/DWARF support for stm8
    * Output symbol table for ELF
    * pic16 port now uses standard-compliant crt0iz that initializes static
    and globals to 0 by default

    And of course numerous feature requests and bug fixes are included as well.

    Once again I hope you will enjoy using this new release.

    Maarten Brock
    SDCC 3.6.0 Release Manager
    Upstream SDCC still lacks the XC800-specific aspects of the fork in DAvE-Bench. However, the fork in DAvE-Bench is based on SDCC 2.9.0, so it lacks 7 years of improvments in upstream SDCC.

    Philipp

  2. #2
    New Member New Member kamikaze will become famous soon enough kamikaze's Avatar
    Join Date
    Nov 2011
    Location
    /Europe/Germany/Karlsruhe
    Posts
    94
    Points
    124.1015625
    I've been using SDCC for the XC878 for a long time.

    I run it with the following Parameters:`sdcc -mmcs51 --xram-loc 0xF000 --xram-size 3072`

    The important part is to add some custom startup code, e.g.:
    https://github.com/lonkamikaze/hsk-l...sk_boot.c#L108
    https://github.com/lonkamikaze/hsk-l...hsk_boot.c#L86

    This function takes the frequency of your external oscillator and sets the PLL up to run the core at 24MHz:
    https://github.com/lonkamikaze/hsk-l...sk_boot.c#L323
    [ kamikaze@bsdforen.de - XC878 libraries (GitHub) - XC878 ECU project stub (GitHub) - High Speed Karlsruhe ]
    - - - -
    Primary platform: XC878CM-16FFA
    Custom library: ~10k lines of code, ~300 pages of documentation

+ Reply to Thread
Disclaimer

All content and materials on this site are provided “as is“. Infineon makes no warranties or representations with regard to this content and these materials of any kind, whether express or implied, including without limitation, warranties or representations of merchantability, fitness for a particular purpose, title and non-infringement of any third party intellectual property right. No license, whether express or implied, is granted by Infineon. Use of the information on this site may require a license from a third party, or a license from Infineon.


Infineon accepts no liability for the content and materials on this site being accurate, complete or up- to-date or for the contents of external links. Infineon distances itself expressly from the contents of the linked pages, over the structure of which Infineon has no control.


Content on this site may contain or be subject to specific guidelines or limitations on use. All postings and use of the content on this site are subject to the Usage Terms of the site; third parties using this content agree to abide by any limitations or guidelines and to comply with the Usage Terms of this site. Infineon reserves the right to make corrections, deletions, modifications, enhancements, improvements and other changes to the content and materials, its products, programs and services at any time or to move or discontinue any content, products, programs, or services without notice.