Philipp Klaus Krause | 29 Jul 09:28 2015
Picon

How do your interrupt handlers look like

I wonder how interrupt andlers written by sdcc users look like, in
particular:

* Do they contain divisions?
* Do they contain multiplications?
* Do they contain pointer arithmetic?
* Do they contain array accesses?
* Do they contain shifts?
* Do they call other functions?
* Are those other called functions static?
* Do those other called functions contain divisions?

The information might be useful in improving a workaround for a hardware
division issue (see bug #2401, RFE #448 / 449).

Philipp

------------------------------------------------------------------------------
_______________________________________________
Sdcc-user mailing list
Sdcc-user@...
https://lists.sourceforge.net/lists/listinfo/sdcc-user
Luigi Erroi | 12 Jul 12:32 2015
Picon

Ziloghino - Arduino like Z80 system

The idea is to create a modular stackable Z80 microprocessor based board to use it as an arduino.
Then project is on Kickstart platform and i ask you if you would like to help me to build it. ZILOGHINO
Thank you.

--
Luigi.
------------------------------------------------------------------------------
Don't Limit Your Business. Reach for the Cloud.
GigeNET's Cloud Solutions provide you with the tools and support that
you need to offload your IT needs and focus on growing your business.
Configured For All Businesses. Start Your Cloud Today.
https://www.gigenetcloud.com/
_______________________________________________
Sdcc-user mailing list
Sdcc-user@...
https://lists.sourceforge.net/lists/listinfo/sdcc-user
Philipp Klaus Krause | 10 Jul 20:10 2015
Picon

Tutorials for stm8 development using free software

Recently, I updated my tutorials for using sdcc on the stm8 for sdcc
3.5.0, fixed a few typos, and most importantly:
New tutorials for WaveShare development boards¹², and serial I/O on the
STM8L-DISCOVERY.
The total number of tutorial / hardware combinations has increased from
4 to 13.

As before, all tutorials can be found at:
http://www.colecovision.eu/stm8/

Philipp

¹While STM provides both very cheap, simple evaluationm boards as well
es expensive ones with lots of features, the ones by WaveShare tend to
be more in between these two extremes, both price- and feature-wise.

²I am in no way affiliated with WaveShare; I bought all my WaveShare
boards at full price, unlike the STM boards (the STM8L-DISCOVERY I got
as a gift from someone who was happy to see stm8 support in sdcc, the
STM8/128-EVAL I got at reduced price at a liquidation sale)

------------------------------------------------------------------------------
Don't Limit Your Business. Reach for the Cloud.
GigeNET's Cloud Solutions provide you with the tools and support that
you need to offload your IT needs and focus on growing your business.
Configured For All Businesses. Start Your Cloud Today.
https://www.gigenetcloud.com/
_______________________________________________
Sdcc-user mailing list
Sdcc-user@...
https://lists.sourceforge.net/lists/listinfo/sdcc-user
Georg Icking-Konert | 21 Jun 20:54 2015
Picon

Update "STM8_serial_flasher"

hello all,

just in case you’re interested, I have uploaded an update of my STM8 flashing tool to https://github.com/gicking/STM8_serial_flasher (program via UART bootloader). Changes:
  • supports direct connection RasPi UART to STM8 UART. Note: without protection the STM8 has to be supplied with 3.3V to avoid damaging the RasPi
  • option "Reply Mode“ (for details see STM8 bootloader manual). Is required e.g. for the UART2 of the STM8S105 on the "STM8S Discovery Board"
  • reset of STM8 via RasPi GPIO18. Unfortunately this requires STM8_serial_flasher to run with "sudo“ permission…?
  • additional STM8 project "BSL_activate“, which can be flashed via SWIM and which enables the bootloader via option bytes
Today I tested the following setups (see Wiki in above Github):
  • RasPi B model 2 / STM8 Discovery Board with UART-UART and automatic reset
  • RasPi B model 2 / STM8 custom board with USB-UART and manual reset
  • MacOS X 10.10.3 / STM8 custom board with USB-UART and manual reset
  • Win Vista SP2 / STM8 custom board with USB-UART and manual reset
The easiest way to test it is to compile both "STM8_serial_flasher" and project "BSL_activate" via "make". Then type "make serial“ to flash the STM8 (if settings at bottom of Makefile are correct)… 

Have fun!  :-)

Regards,
Georg Icking-Konert

------------------------------------------------------------------------------
_______________________________________________
Sdcc-user mailing list
Sdcc-user@...
https://lists.sourceforge.net/lists/listinfo/sdcc-user
Maarten Brock | 20 Jun 22:29 2015
Picon

SDCC 3.5.0 Release Candidate 2

Hello SDCC friends,

The second Release Candidate for SDCC 3.5.0 has just been put online.

For RC1 there was no test result from anyone, neither positive nor
negative. I wonder if that means it was pretty OK, nobody tested, nobody
noticed or even nobody cared. Still I ask again:

If you have the time, please verify it and report back with the positive
or negative results.

May the Source be with you,
Maarten Brock

------------------------------------------------------------------------------
Philipp Klaus Krause | 17 Jun 19:34 2015
Picon

FOSDEM talk video

At FOSDEM 2015, there was a talk on sdcc, which was recorded.
I haven't watched it yet, but noticed the video is online now (probably
has been for some time):

Philipp

------------------------------------------------------------------------------
_______________________________________________
Sdcc-user mailing list
Sdcc-user@...
https://lists.sourceforge.net/lists/listinfo/sdcc-user
Maarten Brock | 9 Jun 23:55 2015
Picon

(no subject)

Hello SDCC friends,

Today the first Release Candidate (RC1) for SDCC 3.5.0 has been created.
As always it has been put online in our SourceForge File section.
https://sourceforge.net/projects/sdcc/files/

If you have the time, please verify it and report back with the positive
or negative results.

May the Source be with you,
Maarten Brock

------------------------------------------------------------------------------
Simon Dible | 9 Jun 17:09 2015
Picon

Re: Sdcc-user Digest, Vol 108, Issue 1


On 06/06/2015 13:00, sdcc-user-request@... wrote:
> Hi Philipp,
>
> you were quicker:) Simon, you probably have a chance to work around it with peephole rules requiring no
compiler modification at all.
>
>
> Idea is to use the JB bit,rel instruction to access the bit, peephole rule for that could look similar to:
>
>
> replace {
>          mov     c,%1
> } by {
>          ;       Peephole 1000.a     mov c,%1 workaround fix
> 	; push acc
>          jb	%1, . + x     ; adapt relative jump
> 	clrb	c
>          sjmp    . + y         ; adapt relative jump
>          setb    c
> 	; pop acc
> }
>
>
> Greetings,
> Frieder

HI,

Thanks for replying so fast and for the pointers with the peephole 
optimization rules, this appears to do exactly what I need. The same bug 
also exists in silicon on the CSR101x pio controller core, but currently 
its only use as31 so people are told to steer clear of those instructions.

Simon

------------------------------------------------------------------------------
Simon Dible | 5 Jun 16:12 2015
Picon

Prevent using broken instructions

Hi

I'm working on an 8051 FPGA image that has broken logical operations on 
the carry flag, at this time its not viable to fix them. Is there some 
way to make sdcc for the 8051 not generate these instructions, or work 
out what C code would generate them to avoid using it?

ORL C, /bit
ORL C, bit
ANL C, /bit
ANL C, bit
MOV C, bit

Many thanks
Simon

------------------------------------------------------------------------------
Giri Pushpanathan | 26 May 16:47 2015

Internal RAM Layout

Compiler version:2.6

HW:8051s (Microsemi)

 

I am using Soft Console IDE which uses SDCC.

The generated internal RAM map uses space from 0x46 to 0xFF; I thought SFRs start at 0x80.

Does the compiler needs to be told explicitly not to go beyond 0x7F?

I do intend to get the newer version of SDCC.

 

Internal RAM layout:

      0 1 2 3 4 5 6 7 8 9 A B C D E F

0x00:|0|0|0|0|0|0|0|0|I|I|I|I|I|I|I|I|

0x10:|I|I|I|I|I|I|I|I|a|a|a|a|a|a|a|a|

0x20:|b|b|b|b|b|b|b|b|b|b|b|b|b|b|b|b|

0x30:|b|b|b|b|b|b|b|b|b|b|b|b|b|b|b|b|

0x40:|b|Q|Q|Q|Q|Q|S|S|S|S|S|S|S|S|S|S|

0x50:|S|S|S|S|S|S|S|S|S|S|S|S|S|S|S|S|

0x60:|S|S|S|S|S|S|S|S|S|S|S|S|S|S|S|S|

0x70:|S|S|S|S|S|S|S|S|S|S|S|S|S|S|S|S|

0x80:|S|S|S|S|S|S|S|S|S|S|S|S|S|S|S|S|

0x90:|S|S|S|S|S|S|S|S|S|S|S|S|S|S|S|S|

0xa0:|S|S|S|S|S|S|S|S|S|S|S|S|S|S|S|S|

0xb0:|S|S|S|S|S|S|S|S|S|S|S|S|S|S|S|S|

0xc0:|S|S|S|S|S|S|S|S|S|S|S|S|S|S|S|S|

0xd0:|S|S|S|S|S|S|S|S|S|S|S|S|S|S|S|S|

0xe0:|S|S|S|S|S|S|S|S|S|S|S|S|S|S|S|S|

0xf0:|S|S|S|S|S|S|S|S|S|S|S|S|S|S|S|S|

0-3:Reg Banks, T:Bit regs, a-z:Data, B:Bits, Q:Overlay, I:iData, S:Stack, A:Absolute

 

Stack starts at: 0x46 (sp set to 0x45) with 186 bytes available.

 

Other memory:

   Name             Start    End      Size     Max    

   ---------------- -------- -------- -------- --------

   PAGED EXT. RAM                         0      256  

   EXTERNAL RAM     0x0000   0x08c9    2250    65536  

   ROM/EPROM/FLASH  0x0000   0x3863   14436    65536  

 

 

Thanks,

Giri

 

------------------------------------------------------------------------------
One dashboard for servers and applications across Physical-Virtual-Cloud 
Widest out-of-the-box monitoring support with 50+ applications
Performance metrics, stats and reports that give you Actionable Insights
Deep dive visibility with transaction tracing using APM Insight.
http://ad.doubleclick.net/ddm/clk/290420510;117567292;y
_______________________________________________
Sdcc-user mailing list
Sdcc-user@...
https://lists.sourceforge.net/lists/listinfo/sdcc-user
hernani | 20 May 11:20 2015
Picon

error: 25: Structure/Union expected left of '.->'

hello,

i have this code and give me this errors--->
i put line numbers and bold where give me errors


5.c:53: warning: warning 112: function 'Delay_ms' implicit declaration

p, li { white-space: pre-wrap; }

5.c:53: error: 101: too many parameters 

5.c:91: warning: warning 112: function 'Delay_ms' implicit declaration 

5.c:88: error: 25: Structure/Union expected left of '.->' 

5.c:89: error: 25: Structure/Union expected left of '.->' 

5.c:90: error: 25: Structure/Union expected left of '.->' 

5.c:91: error: 101: too many parameters 

5.c:92: error: 25: Structure/Union expected left of '.->' 

5.c:101: warning: warning 112: function 'Delay_ms' implicit declaration 

5.c:98: error: 25: Structure/Union expected left of '.->' 

5.c:99: error: 25: Structure/Union expected left of '.->' 

5.c:100: error: 25: Structure/Union expected left of '.->' 

5.c:101: error: 101: too many parameters 

5.c:102: error: 25: Structure/Union expected left of '.->'



--------------------------------------------------------------------- */
/* Template source file generated by piklab */
#include <pic18f4550.h>

/* ----------------------------------------------------------------------- */
/* Configuration bits: adapt to your setup and needs */


// Program to interface 16x2 LCD with PIC18F4550 Microcontroller using 4-bit mode

// Configuration bits
/* _CPUDIV_OSC1_PLL2_1L, // Divide clock by 2
_FOSC_HS_1H, // Select High Speed (HS) oscillator
_WDT_OFF_2H, // Watchdog Timer off
MCLRE_ON_3H // Master Clear on
*/

//LCD Control pins
#define rs LATA.F0
#define rw LATA.F1
#define en LATA.F2

//LCD Data pins
#define lcdport LATB

void lcd_ini();
void dis_cmd(unsigned char);
void dis_data(unsigned char);
void lcdcmd(unsigned char);
void lcddata(unsigned char);

void main(void)
{
unsigned char data0[]="EngineersGarage";
unsigned int i=0;
TRISB=0; // Configure Port B as output port
LATB=0;
lcd_ini(); // LCD initialization
while(data0[i]!='\0')
{
dis_data(data0[i]);
53-> Delay_ms(200);
i++;
}
}
void lcd_ini()
{
dis_cmd(0x02); // To initialize LCD in 4-bit mode.
dis_cmd(0x28); // To initialize LCD in 2 lines, 5x7 dots and 4bit mode.
dis_cmd(0x0C);
dis_cmd(0x06);
dis_cmd(0x80);
}

void dis_cmd(unsigned char cmd_value)
{
unsigned char cmd_value1;
cmd_value1 = (cmd_value & 0xF0); // Mask lower nibble because RB4-RB7 pins are being used
lcdcmd(cmd_value1); // Send to LCD
cmd_value1 = ((cmd_value<<4) & 0xF0); // Shift 4-bit and mask
lcdcmd(cmd_value1); // Send to LCD
}


void dis_data(unsigned char data_value)
{
unsigned char data_value1;
data_value1=(data_value&0xF0);
lcddata(data_value1);
data_value1=((data_value<<4)&0xF0);
lcddata(data_value1);
}

void lcdcmd(unsigned char cmdout)
{
lcdport=cmdout; //Send command to lcdport=PORTB
88-> rs=0;
89-> rw=0;
90-> en=1;
91-> Delay_ms(10);
92-> en=0;
}

void lcddata(unsigned char dataout)
{
lcdport=dataout; //Send data to lcdport=PORTB
98-> rs=1;
99-> rw=0;
100-> en=1;
101-> Delay_ms(10);
102-> en=0;
}

p, li { white-space: pre-wrap; }
------------------------------------------------------------------------------
One dashboard for servers and applications across Physical-Virtual-Cloud 
Widest out-of-the-box monitoring support with 50+ applications
Performance metrics, stats and reports that give you Actionable Insights
Deep dive visibility with transaction tracing using APM Insight.
http://ad.doubleclick.net/ddm/clk/290420510;117567292;y
_______________________________________________
Sdcc-user mailing list
Sdcc-user@...
https://lists.sourceforge.net/lists/listinfo/sdcc-user

Gmane