GitHunt
VO

volumit/sdcc_aurix_scr_42

sdcc+binutils for SCR Aurix (mcs51)

sdcc_aurix_scr_42

sdcc+binutils for SCR Aurix (mcs51)
Standby Controller SCR in AURIX Microcontroller Family TC3xx.

It is a tiny 8051/MCS51 which allows to do some tasks, with very low current consumption.

It contains an own subsystem some Timers, AD comperators, CAN , SPI, UARTS, 8Kbyte XRAM....

Target was here to support SCR C-Code generation, based on SDCC.

It is an experimental patch of SDCC , quick hack of mcs51 which allows fast progress.

It is based on SDCC mcs51 4.2.2 #13448.
With an updated release e.g. 4.3. (several activities are ongoing for bugfixes, feature enhancements, ...) I have in mind to make a more
cleaner release as an own architecture in SDCC, not as patch for mcs51.

SDCC is only used as compiler frontend to generate assembly.

Assembler, Link/Locate, .... is done by a modified version of binutils, which is now supporting SCR (MCS51).

Major hickup with the SCR is that register B is not bit addressable.

Register B 0xF0 in standard MCS51 architectures, 0xDA in Infineon SCR (Reg B is not bit addressable anymore).
With a lot of consequences, libs, compiler mid,back-end, ....

I recommend here Infineon to be a little bit more careful under the aspect of HW/SW/Tool- Codesign.
If you change RTL, please check consequences.

The simulator was adapted to reflect the architectural changes of SCR.

Testsuite results for mcs51-large, mcs51-large-stack-auto --nooverlay.

There is no blocking point to go for small and medium memory models, but maybe testsuite has to be adapted.

Summary for 'mcs51-large': 0 failures, 18471 tests, 3268 test cases, 7127687 bytes, 5297232060 ticks

Summary for 'mcs51-large-stack-auto': 0 failures, 18454 tests, 3267 test cases, 6607445 bytes, 3739580400 ticks

Quality status is reasonable, tried some examples on real target and it is working like expected.

../binutils is containg the binutils which supports mcs51,i51

../bin_mingw ready 2 use precompiled version for mingw

../bin_linux ready 2 use precompiled version linux

Languages

C85.2%Makefile8.7%C++2.5%Shell0.5%Scheme0.5%M40.4%Assembly0.4%HTML0.3%Roff0.3%Perl0.2%Yacc0.2%SourcePawn0.2%Scala0.2%TeX0.1%Lex0.0%Emacs Lisp0.0%NSIS0.0%Python0.0%DIGITAL Command Language0.0%Batchfile0.0%Objective-C0.0%Awk0.0%SWIG0.0%AGS Script0.0%MATLAB0.0%sed0.0%GDB0.0%

Contributors

Other
Created February 25, 2023
Updated August 12, 2024
volumit/sdcc_aurix_scr_42 | GitHunt