Command line assembler and EMAC instructions

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Command line assembler and EMAC instructions

2,779 Views
jballes
Contributor II
Hello,

We have been using the Freescale’s CodeWarrior for a while without problems. Nevertheless, we have just acquired Rational TestRealtime and we need to compile our project with the command line tools.

For regular C files, it works fine, but we are having troubles with an assembler file because EMAC specific instructions are not accepted.

The output from mwasmmcf is:

“C:\DATA\MILLIQIntegral\C Source\Services\Quadros\RTXCGEN\Rtxcgen Files\uexcptn.s:98: Accumulator only valid for processor with EMAC unit
C:\DATA\MILLIQIntegral\C Source\Services\Quadros\RTXCGEN\Rtxcgen Files\uexcptn.s:98: Accumulator only valid for processor with EMAC unit
C:\DATA\MILLIQIntegral\C Source\Services\Quadros\RTXCGEN\Rtxcgen Files\uexcptn.s:98: Instruction not legal for current target processor(s)
C:\DATA\MILLIQIntegral\C Source\Services\Quadros\RTXCGEN\Rtxcgen Files\uexcptn.s:98: Accumulator only valid for processor with EMAC unit
C:\DATA\MILLIQIntegral\C Source\Services\Quadros\RTXCGEN\Rtxcgen Files\uexcptn.s:98: Accumulator only valid for processor with EMAC unit
C:\DATA\MILLIQIntegral\C Source\Services\Quadros\RTXCGEN\Rtxcgen Files\uexcptn.s:98: Instruction not legal for current target processor(s)
C:\DATA\MILLIQIntegral\C Source\Services\Quadros\RTXCGEN\Rtxcgen Files\uexcptn.s:98: Accumulator only valid for processor with EMAC unit
C:\DATA\MILLIQIntegral\C Source\Services\Quadros\RTXCGEN\Rtxcgen Files\uexcptn.s:98: Accumulator only valid for processor with EMAC unit
C:\DATA\MILLIQIntegral\C Source\Services\Quadros\RTXCGEN\Rtxcgen Files\uexcptn.s:98: Instruction not legal for current target processor(s)
C:\DATA\MILLIQIntegral\C Source\Services\Quadros\RTXCGEN\Rtxcgen Files\uexcptn.s:98: Accumulator only valid for processor with EMAC unit
C:\DATA\MILLIQIntegral\C Source\Services\Quadros\RTXCGEN\Rtxcgen Files\uexcptn.s:98: Accumulator only valid for processor with EMAC unit
C:\DATA\MILLIQIntegral\C Source\Services\Quadros\RTXCGEN\Rtxcgen Files\uexcptn.s:98: Instruction not legal for current target processor(s)”

This line corresponds to the following one (the file “uexcptn.s”):

89: .extern i2c_handler
90: I2CEXP .equ 10 // I2C handler
91: I2CEXP_LEVEL .equ 3 // Interrupt level
92: I2CEXP_VECTOR .equ 81 // Vector number
93:
94: // Begin - User Include Information
95: // End - User Include Information
96:
97:
98: RTXCISRms isvcpit0isrc,pit0isrc,TMR0ISR_LEVEL,TMR0ISR // 1 TMR0ISR - Timer 0 Interrupt Service Routine
99: RTXCISRms isvccan_b14_handler,can_b14_handler,buffer14_LEVEL,buffer14 // 2 buffer14 - interrupt buffer 14


The compiler line used is the following:

mwasmmcf -nodefaults -msgstyle gcc -gccinc -g -proc MCF5282 –l PATHS> uexcptn.s –o uexcptn.o

Within the IDE, we have chosen MCF52xx and the option “Processor has EMAC” is effectively enabled.

However, for the command line assembler, I have tried with several processors without success, and the pragma line “#pragma emac on” in the assembler file does not work neither.

Do you have any ideas?

Thanks in advance,

Javier

PS: For info:
mwasmmcf.exe -version

CodeWarrior Assembler for Embedded ColdFire.
Copyright (c) 2006, Freescale Semiconductor, Inc
All rights reserved.
Version 6.3 build 4
Runtime Built: Jul 12 2006 11:07:57

Message Edited by jballes on 2007-03-0902:11 PM

Labels (1)
0 Kudos
Reply
3 Replies

1,168 Views
CrasyCat
Specialist III
Hello
 
According to my understanding, the Processor Has EMAC option is automatically activated when you select a processor, which has an EMAC unit.
 
You need to submit a service request  for that.
 
To log the issue please go to following URL:
    http://www.freescale.com/TechSupport
and click on "Submit a service request"
 
Make sure to attach a project  (here the .s file and all the file included there as well as the command line options you are using.
Also attach the installed product information to the SR.
To retrieve that info:
    - Start CodeWarrior
    - Select Help -> About Freescale CodeWarrior
    - Click on "Install Products"
    - Click on Save As and save the info to a file, that you attach to the SR.
 
CrasyCat
0 Kudos
Reply

1,168 Views
jballes
Contributor II
Just for information, I send you the result from the SR.

To add these instructions, we must add the flag -emac to the assembler.

Regards,

Javier Ballesteros
0 Kudos
Reply

1,168 Views
jballes
Contributor II
Hi,

Thanks for your recommendation, CrasyCat.

I will send the issue asap.

Regards,

Javier

0 Kudos
Reply