Well, I understand.
Thanks, very much.
:-)
2012/12/21 Borut Ražem <borut.ra...@gmail.com>
> On 21. 12. 2012 11:02, feqin fan wrote:
>
> I have found the file, but how the compiler automatically insert into the
> ASM file?
>
>
> It doesn't. The idata.o, included in sdcc.lib, is linked with your program
> by gplink during the linking phase.
> Compiling the c program is actually done is several steps:
> - preprocessing by sdcpp (input: c source code, output: preprocessed c
> code; sdcc -E)
> - code generation by sdcc (input: preprocessed c code, output: asm file;
> sdcc -S)
> - assebling by gpasm (input: asm file, output: object file; sdcc -c)
> - linking by gplink (input: object files, output: binary (hex) file)
>
> All steps are performed by the sdcc front end. You can see the steps if
> you invoke sdcc with -V option.
>
> Borut
>
>
>
> I compiled the sdcc in the VS10.0 by myself.
> I have read a lot of the source code. So please tell me more details..
> And how can I get a right version that can generate the load code(using
> the idata.c) before startup.
>
> Thank you, very much.
>
>
> 2012/12/21 Borut Ražem <borut.ra...@gmail.com>
>
>> > if have Where is the source code doing this LOAD?
>> > if not ,How can i do this?
>>
>> See device/lib/pic14/libsdcc/idata.c
>>
>>
>> > Another, in SDCC PIC14 the *pic16f887.lib* doing what?
>> > and how it come from? how can i compile to get it by myself?
>> > What does it contain?
>>
>> See device/non-free/lib/pic14/libdev/pic16f887.c
>>
>> Borut
>>
>>
>> On 21. 12. 2012 08:03, feqin fan wrote:
>>
>> Hello,everyone.
>> just like the title.
>> I write C code like this:
>>
>> ------------------------------------------------------------------------------------------
>> #include<pic16f887.h>
>> unsigned char a[4] = {0x12, 0x13, 0x14, 0x15};
>>
>> int main() {
>> PORTA = a[2];
>> return 0;
>> }
>>
>> -------------------------------------------------------------------------------------------
>> the generated asmbler file is:
>>
>> -------------------------------------------------------------------------------------------
>> ID_a_0 idata
>> _a
>> db 0x12
>> db 0x13
>> db 0x14
>> db 0x15
>>
>> STARTUP code 0x0000
>> nop
>> pagesel __sdcc_gsinit_startup
>> goto __sdcc_gsinit_startup
>>
>> code_a code
>>
>> _main
>> BANKSEL _a
>> MOVF (_a + 2),W
>> BANKSEL _PORTA
>> MOVWF _PORTA
>> ; .line 1806; "a.c" return 0;
>> MOVLW 0x00
>> MOVWF STK00
>> MOVLW 0x00
>> RETURN
>> ; exit point of _main
>>
>> end
>>
>> -------------------------------------------------------------------------------
>> in the manual of gputils for the directive IDATA have this "Data memory
>> is alllocated and the initialization data is placed in ROM,
>> The user must provide the code to load the data into memory"
>> so , just like the title can sdcc generate code which can load value from
>> ROM(placed for idata directive) to RAM in startup?
>>
>> if have Where is the source code doing this LOAD?
>> if not ,How can i do this?
>>
>> Another, in SDCC PIC14 the *pic16f887.lib* doing what?
>> and how it come from? how can i compile to get it by myself?
>> What does it contain?
>>
>> Thanks, guys..
>>
>> --
>> *live long and prosper..*
>>
>>
>>
>> ------------------------------------------------------------------------------
>> LogMeIn Rescue: Anywhere, Anytime Remote support for IT. Free Trial
>> Remotely access PCs and mobile devices and provide instant support
>> Improve your efficiency, and focus on delivering more value-add services
>> Discover what IT Professionals Know. Rescue
>> delivershttp://p.sf.net/sfu/logmein_12329d2d
>>
>>
>>
>> _______________________________________________
>> Sdcc-user mailing
>> listSdcc-user@lists.sourceforge.nethttps://lists.sourceforge.net/lists/listinfo/sdcc-user
>>
>>
>>
>>
>> ------------------------------------------------------------------------------
>> LogMeIn Rescue: Anywhere, Anytime Remote support for IT. Free Trial
>> Remotely access PCs and mobile devices and provide instant support
>> Improve your efficiency, and focus on delivering more value-add services
>> Discover what IT Professionals Know. Rescue delivers
>> http://p.sf.net/sfu/logmein_12329d2d
>> _______________________________________________
>> Sdcc-user mailing list
>> Sdcc-user@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/sdcc-user
>>
>>
>
>
> --
> *live long and prosper..*
>
>
> ------------------------------------------------------------------------------
> LogMeIn Rescue: Anywhere, Anytime Remote support for IT. Free Trial
> Remotely access PCs and mobile devices and provide instant support
> Improve your efficiency, and focus on delivering more value-add services
> Discover what IT Professionals Know. Rescue
> delivershttp://p.sf.net/sfu/logmein_12329d2d
>
>
>
> _______________________________________________
> Sdcc-user mailing
> listSdcc-user@lists.sourceforge.nethttps://lists.sourceforge.net/lists/listinfo/sdcc-user
>
>
>
>
> ------------------------------------------------------------------------------
> LogMeIn Rescue: Anywhere, Anytime Remote support for IT. Free Trial
> Remotely access PCs and mobile devices and provide instant support
> Improve your efficiency, and focus on delivering more value-add services
> Discover what IT Professionals Know. Rescue delivers
> http://p.sf.net/sfu/logmein_12329d2d
> _______________________________________________
> Sdcc-user mailing list
> Sdcc-user@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/sdcc-user
>
>
--
*live long and prosper..*
------------------------------------------------------------------------------
LogMeIn Rescue: Anywhere, Anytime Remote support for IT. Free Trial
Remotely access PCs and mobile devices and provide instant support
Improve your efficiency, and focus on delivering more value-add services
Discover what IT Professionals Know. Rescue delivers
http://p.sf.net/sfu/logmein_12329d2d
_______________________________________________
Sdcc-user mailing list
Sdcc-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sdcc-user