|Software API Contents|
| || |
|Dec 11, 2006|
|We provide software API for all AR1688 IP phone manufacturers and end users. The API includes part of source codes and part of object files.
Based on the API, users can make their own customized upgrade binary files for their IP phones.
We do not provide fully open source software because we do not encourage those implementations to be transferred to another chip to compete with AR1688.
DSP part are provided in binary .dat file and low-level register control, ethernet mac layer, IP layer and basic UDP and TCP connection implementations are provided in SDCC object .o files.
We use open source SDCC compiler to build the software and release software API under GPL license, in the hope of helping end users make more out of their IP phones.
For me, it is fun to modify the software and see it working immediately, and I believe it is true for others too.
When everyone can modify something with his or her own IP phone, we also hope that this will reduce our supporting work of customizations.
And most important, with so many gifted programmers keeping an eye on our software and make improvements, we are more likely to do a better job than keep all the coding to ourselves.
The API is provided as SDCC.rar file. It will decompress SDCC directory and files. We assume SDCC directory is decompressed to drive D:. If it is not, you will need to change the first line of sdcc\src\makefile.
Currently there are following 5 directories under SDCC:
1. bin - SDCC open source compiler binary files and our own special tools binary files. We are using SDCC 2.6.0 steady version. You can also download those files directly from SDCC official website.
The SDCC.exe is smaller than the official website one because we only compiled Z80 part in the .exe file. GNU make.exe utility is also here.
2. include - .h files. We only use SDCC compiler, do not use any include and library files from the official SDCC. All .h files are written by ourselves, there might be small difference of parameters compared with standard c runtime routines.
And not all c runtime routines are included, only those needed are there. We are doing this for performance.
3. lib - It is not actually library file, instead, there are object files in this directory, those object files are compiled from source files which are not in API source code, and are to be linked together with other files in link stage.
Same as in include, there are no standard SDCC library used in our project.
4. src - Source files, including makefile and batch files to generate upgrade binary file. All UI related and VoIP protocol related implementations are provided in source code. Measured in source code size, over 80% are open source in this API.
5. tool - Full source code of those special tools in bin directory, in a MS Visual C++ 6.0 project.
Updated on May 14, 2007
SDCC decompress to drive C: since version 0.12.
Updated on Aug 18, 2010
Compiler of tools in SDCC\bin upgraded to VC2008 since version 0.48.
Updated on June 15, 2014
Compiler of tools in SDCC\bin upgraded to Visual Studio 2013.