Woody Home Page
 
   
Small Device C Compiler 2.9.0
  
March 29, 2009
Once a year, the open source SDCC development team will update a major version. On March 22 they released 2.9.0.
The Windows SDCC binary files still use MSVC 6.0 to compile. But the 10 years old MSVC 6.0 can not run with Windows Vista any more. As I was out most of the time in last week with my Windows Vista laptop, I was not able to try it until this weekend.
The only thing related with our AR1688 Z80 in the 2.9.0 release note is many optimizations to reduce code size and increase speed in the Z80 backend. This statement is true compared with 2.8.0 release on May 2008. But actually the code size is larger than 2.8.3 test version which we started to use on Nov 2008 (with AR1688 0.40 software release). But anyway, I believe in release versions, so we will release AR1688 0.44 software based on SDCC 2.9.0.
As usual, the SDCC compiler is located in our software API SDCC\bin. It is smaller than those binary files directly downloaded from SourceForge because we only have Z80 and 8051 compiled in. (Download SDCC 2.9.0 VC6 modified source code here)
We need open source 8051 compiler too because our AR168M VoIP demo application was built on a 8051 controller.
To keep up with my 64-bit Windows Vista, I will not learn any other 8-bit CPU besides Z80 (in AR1688) and 8051 (in PA1688) any more. Palmmicro is also moving into 64-bit in 2009.

Comments for this page:

dungvt@postef.com.vnposted on 2012-03-01 06:29:16 113.160.16.218
Dear Mr

I'm dungvt from POSTEF, Vietnam. Last year, we buy some IP phone using AR1688 from you (maybe). So now we need change them to Vietnameses for menu and webpage. What can i do? How and can we change the images like we need?
Your tool can compatible with Windows 7?

Woody modified on 2015-03-27 12:35:26 58.251.110.178
There was some Vietnamese work done on AR1688 with compiler option RES_VN, you can test and modify it. You can start with our development guide page. The most easy way to change image is to provide your image in the same name as it is in our software API. Both our own tools and SDCC can work with Windows 7.

dungvt@postef.com.vn modified on 2012-03-02 06:14:15 113.160.16.218
Dear Woody

Now, i'm trying make a file .vn from your guides but can't done because have some errors happen like below. Maybe your tool or my configuration,.. ?

My command like below:

D:>SDCC\sdcc\src mk gp1266 sip us

but PC display "Unable to open D"

Note: - SDCC contain compiler SDCC 3.0
- sdcc contain all sourcodes API 0.56

Please guide me how to correct them?

Thank you

Woodyposted on 2012-03-02 08:37:23 123.116.119.107
Try to extract API to C: drive and run command line "mk gp1266 sip us" from c:\sdcc\src\

dungvt@postef.com.vnposted on 2012-03-02 09:01:27 113.160.16.218
Dear Woody

Not working correctly

"Microsoft Windows [Version 6.1.7600]
Copyright (c) 2009 Microsoft Corporation. All rights reserved.

C:\Users\Admin>cd\

C:\>cd sdcc048

C:\sdcc048>cd src

C:\sdcc048\src>mk gp1266 sip us

C:\sdcc048\src>attrib -r ..\include\version.h

C:\sdcc048\src>..\bin\reversion ..\include\version.h gp1266 sip us

C:\sdcc048\src>attrib -r linkmain.lnk

C:\sdcc048\src>..\bin\relink linkmain.lnk gp1266 sip us

C:\sdcc048\src>..\bin\make
..\bin\make: *** No rule to make target `C:\SDCC\include\version.h', needed by `
main.rel'. Stop.

C:\sdcc048\src>..\bin\namebin main.bin gp1266 sip us

Unable to open C
C:\sdcc048\src>mk"

Send you all commands

Woodyposted on 2012-03-02 10:04:21 123.116.119.107
Two suggestions:
1. Use current 0.56 version software API.
2. Use C:\sdcc\ instead of C:\sdcc048\

dungvt@postef.com.vnposted on 2012-03-03 01:46:33 113.160.16.218
Thank you

Now i can do it.

dungvt@postef.com.vnposted on 2012-03-03 03:13:49 113.160.16.218
Dear Mr Woody

Now i can do it but when i change some *.html for Vietnames webpage then compile them again but it is error like below. Send you all

"Microsoft Windows [Version 6.1.7600]
Copyright (c) 2009 Microsoft Corporation. All rights reserved.

C:\Users\Admin>cd\

C:\>f:

F:\>cd sdcc

F:\sdcc>cd src

F:\sdcc\src>mk gp1266 sip vn

F:\sdcc\src>attrib -r ..\include\version.h

F:\sdcc\src>..\bin\reversion ..\include\version.h gp1266 sip vn
Palmmicro reversion utility 0.55.011

F:\sdcc\src>attrib -r linkmain.lnk

F:\sdcc\src>..\bin\relink linkmain.lnk gp1266 sip vn
Palmmicro AR1688 relink utility 0.55.015

F:\sdcc\src>..\bin\make
C:\SDCC\BIN\sdcc main.c -mz80 -c --std-c99 --codeseg CODE0
C:\SDCC\BIN\sdcc ce3.c -mz80 -c --std-c99 --codeseg CODE0
C:\SDCC\BIN\sdasz80 -plosgff datatype.rel datatype.s
C:\SDCC\BIN\sdcc dm9000.c -mz80 -c --std-c99 --codeseg CODE0
C:\SDCC\BIN\sdcc isr_gpio.c -mz80 -c --std-c99 --codeseg CODE0
C:\SDCC\BIN\sdcc ksz8842.c -mz80 -c --std-c99 --codeseg CODE0
C:\SDCC\BIN\sdcc lcd.c -mz80 -c --std-c99 --codeseg CODE0
C:\SDCC\BIN\sdasz80 -plosgff math.rel math.s
C:\SDCC\BIN\sdcc ne2000.c -mz80 -c --std-c99 --codeseg CODE0
C:\SDCC\BIN\sdcc font.c -mz80 -c --std-c99 --codeseg CODEF
C:\SDCC\BIN\sdcc buf.c -mz80 -c --std-c99 --codeseg CODE
C:\SDCC\BIN\sdcc data.c -mz80 -c --std-c99 --codeseg CODE
C:\SDCC\BIN\sdcc heap.c -mz80 -c --std-c99 --codeseg CODE
C:\SDCC\BIN\sdcc line.c -mz80 -c --std-c99 --codeseg CODE
C:\SDCC\BIN\sdcc misc.c -mz80 -c --std-c99 --codeseg CODE
C:\SDCC\BIN\sdcc options.c -mz80 -c --std-c99 --codeseg CODE
C:\SDCC\BIN\sdcc rand.c -mz80 -c --std-c99 --codeseg CODE
C:\SDCC\BIN\sdcc sipc.c -mz80 -c --std-c99 --codeseg CODE
C:\SDCC\BIN\sdcc syslog.c -mz80 -c --std-c99 --codeseg CODE
C:\SDCC\BIN\sdcc udpdebug.c -mz80 -c --std-c99 --codeseg CODE
C:\SDCC\BIN\sdcc adc_key.c -mz80 -c --std-c99 --codeseg CODE1
C:\SDCC\BIN\sdcc dtmf.c -mz80 -c --std-c99 --codeseg CODE1
C:\SDCC\BIN\sdcc function.c -mz80 -c --std-c99 --codeseg CODE1
C:\SDCC\BIN\sdcc gpio_key.c -mz80 -c --std-c99 --codeseg CODE1
C:\SDCC\BIN\sdcc hook.c -mz80 -c --std-c99 --codeseg CODE1
C:\SDCC\BIN\sdcc ivr.c -mz80 -c --std-c99 --codeseg CODE1
C:\SDCC\BIN\sdcc led.c -mz80 -c --std-c99 --codeseg CODE1
C:\SDCC\BIN\sdcc serial.c -mz80 -c --std-c99 --codeseg CODE1
C:\SDCC\BIN\sdcc slic.c -mz80 -c --std-c99 --codeseg CODE1
C:\SDCC\BIN\sdcc time.c -mz80 -c --std-c99 --codeseg CODE1
C:\SDCC\BIN\sdcc dhcp.c -mz80 -c --std-c99 --codeseg CODE2
C:\SDCC\BIN\sdcc dns.c -mz80 -c --std-c99 --codeseg CODE2
C:\SDCC\BIN\sdcc net.c -mz80 -c --std-c99 --codeseg CODE2
C:\SDCC\BIN\sdcc ppp.c -mz80 -c --std-c99 --codeseg CODE2
C:\SDCC\BIN\sdcc pppoe.c -mz80 -c --std-c99 --codeseg CODE2
C:\SDCC\BIN\sdcc sntp.c -mz80 -c --std-c99 --codeseg CODE2
C:\SDCC\BIN\sdcc stun.c -mz80 -c --std-c99 --codeseg CODE2
C:\SDCC\BIN\sdcc tftp.c -mz80 -c --std-c99 --codeseg CODE2
C:\SDCC\BIN\sdcc http.c -mz80 -c --std-c99 --codeseg CODE3
C:\SDCC\BIN\sdcc httpc.c -mz80 -c --std-c99 --codeseg CODE3
C:\SDCC\BIN\sdcc ap_innom.c -mz80 -c --std-c99 --codeseg CODE3
C:\SDCC\BIN\sdcc call_log.c -mz80 -c --std-c99 --codeseg CODE4
C:\SDCC\BIN\sdcc menu.c -mz80 -c --std-c99 --codeseg CODE4
C:\SDCC\BIN\sdcc settings.c -mz80 -c --std-c99 --codeseg CODE4
C:\SDCC\BIN\sdcc ui_str.c -mz80 -c --std-c99 --codeseg CODE4
res\\vn\\menu.h:8: warning 147: excess elements in array of chars initializer af
ter '_cMainMenu'
res\\vn\\menu.h:8: warning 147: excess elements in array of chars initializer af
ter '_cMainMenu'
res\\vn\\menu.h:8: warning 147: excess elements in array of chars initializer af
ter '_cMainMenu'
res\\vn\\menu.h:16: warning 147: excess elements in array of chars initializer a
fter '_cTestMenu'
res\\vn\\menu.h:23: warning 147: excess elements in array of chars initializer a
fter '_cCallMenu'
res\\vn\\menu.h:33: warning 147: excess elements in array of chars initializer a
fter '_cSettingsMenu'
res\\vn\\menu.h:33: warning 147: excess elements in array of chars initializer a
fter '_cSettingsMenu'
res\\vn\\menu.h:45: warning 147: excess elements in array of chars initializer a
fter '_cInfoMenu'
res\\vn\\menu.h:45: warning 147: excess elements in array of chars initializer a
fter '_cInfoMenu'
res\\vn\\menu.h:75: warning 147: excess elements in array of chars initializer a
fter '_cNetworkMenu'
res\\vn\\menu.h:96: warning 147: excess elements in array of chars initializer a
fter '_cVoiceMenu'
res\\vn\\menu.h:141: warning 147: excess elements in array of chars initializer
after '_cProtocolMenu'
res\\vn\\menu.h:141: warning 147: excess elements in array of chars initializer
after '_cProtocolMenu'
res\\vn\\menu.h:157: warning 147: excess elements in array of chars initializer
after '_cDialplanMenu'
res\\vn\\menu.h:157: warning 147: excess elements in array of chars initializer
after '_cDialplanMenu'
res\\vn\\menu.h:157: warning 147: excess elements in array of chars initializer
after '_cDialplanMenu'
res\\vn\\menu.h:157: warning 147: excess elements in array of chars initializer
after '_cDialplanMenu'
res\\vn\\menu.h:157: warning 147: excess elements in array of chars initializer
after '_cDialplanMenu'
res\\vn\\menu.h:157: warning 147: excess elements in array of chars initializer
after '_cDialplanMenu'
res\\vn\\menu.h:172: warning 147: excess elements in array of chars initializer
after '_cSystemMenu'
res\\vn\\menu.h:172: warning 147: excess elements in array of chars initializer
after '_cSystemMenu'
res\\vn\\menu.h:172: warning 147: excess elements in array of chars initializer
after '_cSystemMenu'
res\\vn\\menu.h:172: warning 147: excess elements in array of chars initializer
after '_cSystemMenu'
res\\vn\\menu.h:172: warning 147: excess elements in array of chars initializer
after '_cSystemMenu'
res\\vn\\menu.h:193: warning 147: excess elements in array of chars initializer
after '_cYesNoMark'
res\\vn\\str.h:54: warning 147: excess elements in array of chars initializer af
ter '_cIDS'
res\\vn\\str.h:54: warning 147: excess elements in array of chars initializer af
ter '_cIDS'
res\\vn\\str.h:54: warning 147: excess elements in array of chars initializer af
ter '_cIDS'
res\\vn\\str.h:54: warning 147: excess elements in array of chars initializer af
ter '_cIDS'
res\\vn\\str.h:54: warning 147: excess elements in array of chars initializer af
ter '_cIDS'
res\\vn\\str.h:54: warning 147: excess elements in array of chars initializer af
ter '_cIDS'
res\\vn\\str.h:54: warning 147: excess elements in array of chars initializer af
ter '_cIDS'
res\\vn\\str.h:54: warning 147: excess elements in array of chars initializer af
ter '_cIDS'
res\\vn\\str.h:54: warning 147: excess elements in array of chars initializer af
ter '_cIDS'
res\\vn\\str.h:54: warning 147: excess elements in array of chars initializer af
ter '_cIDS'
res\\vn\\str.h:54: warning 147: excess elements in array of chars initializer af
ter '_cIDS'
res\\vn\\str.h:54: warning 147: excess elements in array of chars initializer af
ter '_cIDS'
res\\vn\\str.h:54: warning 147: excess elements in array of chars initializer af
ter '_cIDS'
res\\vn\\str.h:54: warning 147: excess elements in array of chars initializer af
ter '_cIDS'
res\\vn\\str.h:54: warning 147: excess elements in array of chars initializer af
ter '_cIDS'
res\\vn\\str.h:54: warning 147: excess elements in array of chars initializer af
ter '_cIDS'
res\\vn\\str.h:54: warning 147: excess elements in array of chars initializer af
ter '_cIDS'
res\\vn\\str.h:54: warning 147: excess elements in array of chars initializer af
ter '_cIDS'
res\\vn\\str.h:54: warning 147: excess elements in array of chars initializer af
ter '_cIDS'
res\\vn\\str.h:54: warning 147: excess elements in array of chars initializer af
ter '_cIDS'
res\\vn\\str.h:54: warning 147: excess elements in array of chars initializer af
ter '_cIDS'
res\\vn\\str.h:54: warning 147: excess elements in array of chars initializer af
ter '_cIDS'
C:\SDCC\BIN\sdcc iax2.c -mz80 -c --std-c99 --codeseg CODE5
C:\SDCC\BIN\sdcc protocol.c -mz80 -c --std-c99 --codeseg CODE5
C:\SDCC\BIN\sdcc rtps.c -mz80 -c --std-c99 --codeseg CODE5
C:\SDCC\BIN\sdcc sips.c -mz80 -c --std-c99 --codeseg CODE5
C:\SDCC\BIN\sdcc auth.c -mz80 -c --std-c99 --codeseg CODE6
C:\SDCC\BIN\sdcc md5.c -mz80 -c --std-c99 --codeseg CODE6
C:\SDCC\BIN\sdcc rc4.c -mz80 -c --std-c99 --codeseg CODE6
C:\SDCC\BIN\sdcc sha1.c -mz80 -c --std-c99 --codeseg CODE6
C:\SDCC\BIN\sdcc hmac_sha1.c -mz80 -c --std-c99 --codeseg CODE6
C:\SDCC\BIN\sdcc pbkdf2_sha1.c -mz80 -c --std-c99 --codeseg CODE6
C:\SDCC\BIN\sdcc digitmap.c -mz80 -c --std-c99 --codeseg CODE7
C:\SDCC\BIN\sdcc rtpr.c -mz80 -c --std-c99 --codeseg CODE7
C:\SDCC\BIN\sdcc sipr.c -mz80 -c --std-c99 --codeseg CODE7
C:\SDCC\BIN\sdld -n -f linkmain
C:\SDCC\BIN\hex2bin main.bin -f0 -a0 -x6 -b32768 -e57344 main.ihx

F:\sdcc\src>..\bin\namebin main.bin gp1266 sip vn

This application has requested the Runtime to terminate it in an unusual way.
Please contact the application's support team for more information.
"
Result is the file "gp1266 sip vn" only have 256KB (not 640K is normall working)

Woody modified on 2015-03-27 12:37:54 58.251.110.178
Seems that the original Vietnamese in 0.56 was also broken like French version due to the unicode error we made since 0.46. I suggest you to follow all the steps in our Regional and Language Options guide, translate everything including res\vn\menu.h, str.h, and those .html files.

More options? Please login or register account. metropolitan-tundra