From: SourceForge.net <no...@so...> - 2008-12-31 14:31:34
|
Bugs item #2478926, was opened at 2008-12-31 22:31 Message generated for change (Tracker Item Submitted) made by Item Submitter You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=100599&aid=2478926&group_id=599 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: mcs51(8051) target Group: None Status: Open Resolution: None Priority: 5 Private: No Submitted By: li dewen (lgge1) Assigned to: Nobody/Anonymous (nobody) Summary: variable's address is linked difference with map file Initial Comment: I'm portting ucos to mcs51, but i get a trouble, please help me. sdcc version : 2.8.4 Compiler option : --std-sdcc99 --debug --model-large --iram-size 256 Source files : OS_CORE.c, OS_CPU_A.c, OS_CPU_C.c, OS_MBOX.c, OS_MEM.c, OS_Q.c, OS_SEM.c, OS_TASK.c, OS_TIME.c, serial.c, yy.c (All files are in attach file.) Description: Variable “OSRunning” defined in file “UCOS_II.H” line 300, after linked we can see it’s address is 0x6c on map file. But in file “OS_CORE.c” line 529, Variable “OSRunning” is linked to on address 0x16, we can see this in binary file "ucos.ihx" line 81. Such as : :0A0393007816E6705690001FE09007 Please help me. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=100599&aid=2478926&group_id=599 |
From: SourceForge.net <no...@so...> - 2008-12-31 16:23:25
|
Bugs item #2478926, was opened at 2008-12-31 15:31 Message generated for change (Comment added) made by frief You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=100599&aid=2478926&group_id=599 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: mcs51(8051) target Group: None Status: Open Resolution: None Priority: 5 Private: No Submitted By: li dewen (lgge1) Assigned to: Nobody/Anonymous (nobody) Summary: variable's address is linked difference with map file Initial Comment: I'm portting ucos to mcs51, but i get a trouble, please help me. sdcc version : 2.8.4 Compiler option : --std-sdcc99 --debug --model-large --iram-size 256 Source files : OS_CORE.c, OS_CPU_A.c, OS_CPU_C.c, OS_MBOX.c, OS_MEM.c, OS_Q.c, OS_SEM.c, OS_TASK.c, OS_TIME.c, serial.c, yy.c (All files are in attach file.) Description: Variable “OSRunning” defined in file “UCOS_II.H” line 300, after linked we can see it’s address is 0x6c on map file. But in file “OS_CORE.c” line 529, Variable “OSRunning” is linked to on address 0x16, we can see this in binary file "ucos.ihx" line 81. Such as : :0A0393007816E6705690001FE09007 Please help me. ---------------------------------------------------------------------- >Comment By: Frieder Ferlemann (frief) Date: 2008-12-31 17:23 Message: Probably there's a problem with missing "extern" so OSRunning is defined (not declared) at several places. If you grep through the rst files: "grep OSRunning *.rst" you'll find several occurences of "_OSRunning::" and ".globl _OSRunning" (Note the trailing "::" ) #ifdef OS_GLOBALS #define OS_EXT #else #define OS_EXT extern #endif ... OS_EXT idata BOOLEAN OSRunning; Seems like "OS_EXT" which depends on "OS_GLOBALS" which in turn depends on "OS_MASTER_FILE" is not set as expected. I renamed all source and header files to lowercase so that the filenames match the filenames used in the #include directives (on a case sensitive filesystem) Just a note: more comfortable than to look at the intel hex file's :0A0393007816E6705690001FE09007 would be using the disassembler d52 ( http://www.8052.com/users/disasm/ ). Even more comfortable is looking at the rst files. Greetings, Frieder ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=100599&aid=2478926&group_id=599 |
From: SourceForge.net <no...@so...> - 2009-01-04 01:00:34
|
Bugs item #2478926, was opened at 2008-12-31 22:31 Message generated for change (Comment added) made by lgge1 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=100599&aid=2478926&group_id=599 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: mcs51(8051) target Group: None Status: Open Resolution: None Priority: 5 Private: No Submitted By: li dewen (lgge1) Assigned to: Nobody/Anonymous (nobody) Summary: variable's address is linked difference with map file Initial Comment: I'm portting ucos to mcs51, but i get a trouble, please help me. sdcc version : 2.8.4 Compiler option : --std-sdcc99 --debug --model-large --iram-size 256 Source files : OS_CORE.c, OS_CPU_A.c, OS_CPU_C.c, OS_MBOX.c, OS_MEM.c, OS_Q.c, OS_SEM.c, OS_TASK.c, OS_TIME.c, serial.c, yy.c (All files are in attach file.) Description: Variable “OSRunning” defined in file “UCOS_II.H” line 300, after linked we can see it’s address is 0x6c on map file. But in file “OS_CORE.c” line 529, Variable “OSRunning” is linked to on address 0x16, we can see this in binary file "ucos.ihx" line 81. Such as : :0A0393007816E6705690001FE09007 Please help me. ---------------------------------------------------------------------- >Comment By: li dewen (lgge1) Date: 2009-01-04 09:00 Message: thanks for your help and my ucos is running now. ---------------------------------------------------------------------- Comment By: Frieder Ferlemann (frief) Date: 2009-01-01 00:23 Message: Probably there's a problem with missing "extern" so OSRunning is defined (not declared) at several places. If you grep through the rst files: "grep OSRunning *.rst" you'll find several occurences of "_OSRunning::" and ".globl _OSRunning" (Note the trailing "::" ) #ifdef OS_GLOBALS #define OS_EXT #else #define OS_EXT extern #endif ... OS_EXT idata BOOLEAN OSRunning; Seems like "OS_EXT" which depends on "OS_GLOBALS" which in turn depends on "OS_MASTER_FILE" is not set as expected. I renamed all source and header files to lowercase so that the filenames match the filenames used in the #include directives (on a case sensitive filesystem) Just a note: more comfortable than to look at the intel hex file's :0A0393007816E6705690001FE09007 would be using the disassembler d52 ( http://www.8052.com/users/disasm/ ). Even more comfortable is looking at the rst files. Greetings, Frieder ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=100599&aid=2478926&group_id=599 |
From: SourceForge.net <no...@so...> - 2009-01-11 19:01:21
|
Bugs item #2478926, was opened at 2008-12-31 15:31 Message generated for change (Settings changed) made by maartenbrock You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=100599&aid=2478926&group_id=599 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: mcs51(8051) target >Group: non bugs >Status: Closed >Resolution: Invalid Priority: 5 Private: No Submitted By: li dewen (lgge1) >Assigned to: Frieder Ferlemann (frief) Summary: variable's address is linked difference with map file Initial Comment: I'm portting ucos to mcs51, but i get a trouble, please help me. sdcc version : 2.8.4 Compiler option : --std-sdcc99 --debug --model-large --iram-size 256 Source files : OS_CORE.c, OS_CPU_A.c, OS_CPU_C.c, OS_MBOX.c, OS_MEM.c, OS_Q.c, OS_SEM.c, OS_TASK.c, OS_TIME.c, serial.c, yy.c (All files are in attach file.) Description: Variable “OSRunning” defined in file “UCOS_II.H” line 300, after linked we can see it’s address is 0x6c on map file. But in file “OS_CORE.c” line 529, Variable “OSRunning” is linked to on address 0x16, we can see this in binary file "ucos.ihx" line 81. Such as : :0A0393007816E6705690001FE09007 Please help me. ---------------------------------------------------------------------- Comment By: li dewen (lgge1) Date: 2009-01-04 02:00 Message: thanks for your help and my ucos is running now. ---------------------------------------------------------------------- Comment By: Frieder Ferlemann (frief) Date: 2008-12-31 17:23 Message: Probably there's a problem with missing "extern" so OSRunning is defined (not declared) at several places. If you grep through the rst files: "grep OSRunning *.rst" you'll find several occurences of "_OSRunning::" and ".globl _OSRunning" (Note the trailing "::" ) #ifdef OS_GLOBALS #define OS_EXT #else #define OS_EXT extern #endif ... OS_EXT idata BOOLEAN OSRunning; Seems like "OS_EXT" which depends on "OS_GLOBALS" which in turn depends on "OS_MASTER_FILE" is not set as expected. I renamed all source and header files to lowercase so that the filenames match the filenames used in the #include directives (on a case sensitive filesystem) Just a note: more comfortable than to look at the intel hex file's :0A0393007816E6705690001FE09007 would be using the disassembler d52 ( http://www.8052.com/users/disasm/ ). Even more comfortable is looking at the rst files. Greetings, Frieder ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=100599&aid=2478926&group_id=599 |