• AVR Freaks

Hot!Non line specific message::: error: (1437) CMF error: no psect defined for the line (908)

Author
LaoMa
Starting Member
  • Total Posts : 38
  • Reward points : 0
  • Joined: 2017/08/01 21:39:42
  • Location: 0
  • Status: offline
2020/05/07 02:53:21 (permalink)
0

Non line specific message::: error: (1437) CMF error: no psect defined for the line (908)

Hello,
 
I have modified the TinyBootLoader.x downloaded from SouceForge to adapt it at a PIC16F1704 changing the concept how it works.
I have just 128 room space in the main code, then I used the assembler with XC8 2.10 to  minimize the size as most as possible.
I have used the main.c file to set the CONFIG words and to have the main() routine.
I have set the ROM in the space 0-7f to link later in the combined project  the real app with an offset of 0x80.
 
But I got that message of (1437) CMF error when I try to assemble and execute just this part of the SW.
I have uploaded the whole project, please help me to understand what I have missed or mistaken, eventually!
Thanks a lot
 
Maurizio
 
 
 
#1

5 Replies Related Threads

    mad_c
    Super Member
    • Total Posts : 1243
    • Reward points : 0
    • Joined: 2010/12/12 17:48:27
    • Location: Brisbane, Australia
    • Status: offline
    Re: Non line specific message::: error: (1437) CMF error: no psect defined for the line (9 2020/05/07 13:48:59 (permalink)
    +4 (4)
    Hi,
     
    A CMF error relates to the debug information being produced by the Cromwell application, not to the actual code output. I could reproduce the error you are seeing when building your project with the 2.10 compiler, but the project built fine when using the 2.20 release. You might like to try downloading that version.
     
    Jeff.
    #2
    LaoMa
    Starting Member
    • Total Posts : 38
    • Reward points : 0
    • Joined: 2017/08/01 21:39:42
    • Location: 0
    • Status: offline
    Re: Non line specific message::: error: (1437) CMF error: no psect defined for the line (9 2020/05/07 20:37:02 (permalink)
    0
    thank a lot, Jeff.
     
    To be honest, that error come from a stupid mistake done, I have in someway made a call to a subroutine without "return": replace the call with a goto close the issue.
     
    But now I have a different problem, I try to ask you even if this is not the right topic.
     
    Originally I have used the main.c because I do not know how to set the config words in the .S source file:
    • using the "#pragma config" directives generates syntax error, both if put in .inc file or in the .S file
    • using the __CONFIG(1, 0x1FFF) directive generates the same syntax error
    Are you, as well as anyone else, able to suggest me how to overpass this situation? (The main.c adds some useless instructions in the code!) 
     
    Thanks 
    Maurizio
     
    post edited by LaoMa - 2020/05/07 20:38:14
    #3
    mad_c
    Super Member
    • Total Posts : 1243
    • Reward points : 0
    • Joined: 2010/12/12 17:48:27
    • Location: Brisbane, Australia
    • Status: offline
    Re: Non line specific message::: error: (1437) CMF error: no psect defined for the line (9 2020/05/07 20:57:58 (permalink)
    +2 (2)
    Hi,
     
    If you use the new 2.20 compiler, you will notice that there is now a new PIC assembler distributed with it. It is based on the assembler in the compiler, but it has its own driver (pic-as) and allows you to write assembly-only projects. The 2.20 compiler now has assembler directives for setting config bits, for example:
    config RETEN = ON

    You can use these in the stand-alone assembler or in an assembly file that is part of a C program if you really want to. You can read about this and many other new features in the new C compiler User's guides, and the new guides for the stand-alone assembler.
    #4
    LaoMa
    Starting Member
    • Total Posts : 38
    • Reward points : 0
    • Joined: 2017/08/01 21:39:42
    • Location: 0
    • Status: offline
    Re: Non line specific message::: error: (1437) CMF error: no psect defined for the line (9 2020/05/07 23:56:53 (permalink)
    0
    Thanks again Jeff,
     
    that's closed the config issue but opened a lot others: I was back using main.c which helps a lot.
    Last one and I close this: having "GLOBAL _Label" in the .S file, how to jump it in the main.c ?
    It works if I declare extern void Label() and later I call Label(), but I fail to use jump (goto) ..... maybe I have to refresh my skills in the coding :(
     
    Thanks again. Now change topic.
    Maurizio
     
    #5
    mad_c
    Super Member
    • Total Posts : 1243
    • Reward points : 0
    • Joined: 2010/12/12 17:48:27
    • Location: Brisbane, Australia
    • Status: offline
    Re: Non line specific message::: error: (1437) CMF error: no psect defined for the line (9 2020/05/10 13:41:53 (permalink)
    +2 (2)
    Hi,
     
    Is _Label something you are defining in assembly code? (Remember that the GLOBAL directive does not define a label; it just makes an existing label globally accessible for the current module.) If so and you want to reference it from C code, you will need to declare it using a C prototype and then call it, which you seem to be able to do. If you want to jump to it, you will need in-line assembly that declares it (another GLOBAL directive) and then you can reference it in instructions. You haven't indicated exactly how you tried, nor what the problem with it was.
     
    Jeff
    #6
    Jump to:
    © 2020 APG vNext Commercial Version 4.5