architecture/code warrior project related.

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

architecture/code warrior project related.

Jump to solution
5,432 Views
kanu__
Contributor III

My doubts::

-------------------------------------------------- -------------------------------------------------- -------------------------------------------------- ---------

1)When i created a 8122 test project, it has automatically generated four projects for core 0 to 4(*.mcp files x 4)

 

In that project folder , total project files become 5(including main.mcp)

 

What is the other projects other than main.mcp means?

 

When i clicked the debug button , all the 5 projects are on the debug session. How can i debug my main application only?

 

-------------------------------------------------- -------------------------------------------------- -------------------------------------------------- ---------

 

2)Also can you please give me the exact number of cores of the following fsl processors?

 

MSC8101 -  ? *SC140

MSC8122 -  ?*SC140

MSC8144 -  ?*SC3400 (i think it is 4)

 

-------------------------------------------------- -------------------------------------------------- -------------------------------------------------- ---------

Crasycat's reply ::

 

1)Around your question did you check the processor reference manual (available on the web).

You should be able to find the information o the number of cores available on each processor there.

 

2)Around project created for MSC8122, CodeWarrior creates a project for MSC8122 ABS board.

If you check the documentation for this board you will see that there is one MSC8122 and one MSC8103 chip on the board.

So CodeWarrior creates a .mcp for MSC8103 and one  .mcp for each of the 4 cores on the MSC8122.

-------------------------------------------------- -------------------------------------------------- -------------------------------------------------- ---------

1) Yes , i checked the same , and seen that 8101 has 1 core with 4 ALU's and 8122 has 4 cores, and 8144 has four cores.

(so i doubted.)

Can you clarify this?

 

2) OK . Then how can i debug the four projects in parallel?

 

When i clicked the debug button , the control has came to main() of each projects. My doubt is that how can i run the 5 projects in simultaneously?

 

3) Also what is mean by extended core (sc140)concept ?

 

__Kanu

Labels (1)
Tags (1)
0 Kudos
Reply
1 Solution
3,314 Views
CrasyCat
Specialist III

Hello

 

Here again you have anew question.

 

Can you please create a new post for each different questions you are having?

Thanks for your understanding.

 

Back on question 3. In order to start execution of the application on all cores you can use "Multi-core Debug" -> "Run all" menu entry.

This need to be used on both MSC8122 and MSC8144 to start execution on multiple cores.

Check {Install}\Help\PDF\Targeting StarCore.pdf chapter "Multi-core Debugging" section "Multi-core Debugging Commands" for more information.

 

 

Around your assembly syntax question, this is used to force Immediate short addressing mode.

Please check {Install}\help\PDF\StarCore_Assembler_User_Guide.pdf chapter "Assembler Directives" section "Descriptions"  for more information. THere is a detailed description for notation "< Force Short Addressing" in there

 

 

CrasyCat

View solution in original post

0 Kudos
Reply
8 Replies
3,314 Views
J2MEJediMaster
Specialist I

2) 8101  -- Has one SC140 core, four ALUs total

     8122 -- Has four SC140 cores, sixteen ALUs total

     8144 -- Has four SC3400 cores, sixteen ALUs total

 

The SC3400 core has some enhancements over the SC140 core. For more information, check out the documention on the MSC8144.

 

In CodeWarrior for StarCore V10, there are commands that let you start, stop, and reset all of the cores simultaneously. These commands are icons located in a toolbar that's at the top of the Debug view. The debugger supports concurrent execution, or you can create launch groups that can control multiple cores separately.

 

---Tom

0 Kudos
Reply
3,314 Views
kanu__
Contributor III

OK thanks for the info.

 

But i have some more doubts,

 

1) What is mean by extended core (sc140)concept ?

 

2) Why the processor names are  started with number 8? (8101,8122,8144,8156) ,Also can you explain me each name's significance(8 means 101 means like wise)?

 

3) Also is it possible to create a launch group (to run multiple cores in parallel) in CW 3.0/3.1

 

4) Don't we require an OS(simple a scheduler) to run the application on multiple cores in parallel?

 

5) What is mean by SC-100 (any arch like sc 140 ?)? , I can see lot of SC100 derivatives in "\StarCore_Support\compiler\bin" for cw 3.0/3/1 and 10

meaning all the processors are following sc100 arch (compiler/linker etc) apart from sc3000?

 

__Kanu

0 Kudos
Reply
3,314 Views
CrasyCat
Specialist III

Hello

 

3) Also is it possible to create a launch group (to run multiple cores in parallel) in CW 3.0/3.1

 When you create a project for a processor, which includes multiple cores, CodeWarrior IDE is automatically setting up the project the appropriate way to start debugging on all cores simultaneously.

 

If you wan to configure that manually

  • Open the target settings dialog pressing the following icon  in the project window.
  • Switch to Other Executables Panel in the Debugger group
  • Add the projects for the other cores you want to debug to the file list. If you want to download code in the 4 cores on a MSC8144 chip the Other Executable panel will look as follows:

 

  • Each single file in the Other Executable panel is configured as follows:
  • File Location points to the project file associated with the specific core
  • Remote Download Path must contain something (usually we put ignore there, but you can put C: or anything else.) .

 

This is the way a multi-core project is set up if you create it from a stationery. When you press the debug button in Core 0 project, code will be loaded in the 4 cores and 4 thread windows will be opened. Each one showing a different core

 

4) Don't we require an OS(simple a scheduler) to run the application on multiple cores in parallel?

You do not require an OS to start an application on multiple cores. You only need one when you need inter core synchronization or communication.

 

5) What is mean by SC-100 (any arch like sc 140 ?)? , I can see lot of SC100 derivatives in "\StarCore_Support\compiler\bin" for cw 3.0/3/1 and 10

meaning all the processors are following sc100 arch (compiler/linker etc) apart from sc3000?

 

This is just a prefix in the name of the Starcore build tools and utility program. These binary are valid for all StarCore core.

 

CrasyCat

0 Kudos
Reply
3,314 Views
kanu__
Contributor III

 

Thanks for the detailed explanation from your side.

 

3) OK i agreed. I have 5 projects (core_0.mcp ,core_1.mcp,core_2.mcp,core_3.mcp,core_main.mcp)

 

When i clicked the debug button of "core_main.mcp" , all the 5 threads came into picture and all of them are pointed in the     int main() . So i need to press "continue" button for all of the 5 projects manually to start debugging and it is not expected to be run in parallel right?

 

Is this is a correct method?

 

Why this is happening for 8122 only.(core_0,core_1,core_2,core_3,main differentiation)

 

I can create and debug 8144 projects as a single thread(no differentiation into multiple cores) :smileysad:  , I need to debug the 8122 application like 8144 . should it possible?

 

4) You do not require an OS to start an application on multiple cores. You only need one when you need inter core synchronization or communication.

 

Absolutely Correct. 

But inter core synchronization should be needed for high end applications right?

Also may i know who will  decide the threads for each cores and how it is being done? 

 

5)This is just a prefix in the name of the Starcore build tools and utility program. These binary are valid for all StarCore core.

 

OK. Fine . 

But is there any reason for giving it as sc100 ?

 

Again am quoting my doubts 1 and 2 , please give me the answer if you are interested , otherwise leave it.

 

1) What is mean by extended core (sc140)concept ?

 

2) Why the processor names are  started with number 8? (8101,8122,8144,8156) ,Also can you explain me each name's significance(8 means 101 means like wise)?

 

 

Many Kind regards,

 

__Kanu


 

 

 

 

 

0 Kudos
Reply
3,314 Views
J2MEJediMaster
Specialist I

You do not need an OS to manage the multicore communications, but it does make the job easier. For the CodeWarrior for StarCore v10, there is an option to include Freescale's own DSP OS, SmartDSP OS (or just SDOS) in the project for this purpose. I do not know if this option is available for theCodeWarrior for StarCore v3.x tools.

 

Some of the terms such as SC100, are at least a decade old. It is a legacy designation.

 

Extended SC140 is probably the SC3850 core.

 

I have no idea why Freescale chose 8, other than to make it clear that the StarCore DSP was different from their 568xxx DSP parts. There was not any initial pattern to the number designations either, although for the 8156, it has variants whose last digits specifiy the number of cores in the part. That is 8156 has 6 cores, 8154 has four cores, 8152 has two, and so on. If you need to know the complete specs of a particular part, the part number is not going to help that much. It is best to download the data sheets for the part that you are interested in.

 

---Tom

0 Kudos
Reply
3,314 Views
kanu__
Contributor III

 

ok thanks.

 

Bit still my  doubts number 3 is pending.

Also i have a new doubt on the assembly instruction.

 

While going through some dis assembly instructions , i have seen an asm instruction like below one

 

What is the meaning of  #<8    in  'adda #<8,sp,r0'

 

I just want to know what is the logic behind  the less than symbol(<) in the above instruction.

 

Expecting your reply,

 

__Kanu

0 Kudos
Reply
3,315 Views
CrasyCat
Specialist III

Hello

 

Here again you have anew question.

 

Can you please create a new post for each different questions you are having?

Thanks for your understanding.

 

Back on question 3. In order to start execution of the application on all cores you can use "Multi-core Debug" -> "Run all" menu entry.

This need to be used on both MSC8122 and MSC8144 to start execution on multiple cores.

Check {Install}\Help\PDF\Targeting StarCore.pdf chapter "Multi-core Debugging" section "Multi-core Debugging Commands" for more information.

 

 

Around your assembly syntax question, this is used to force Immediate short addressing mode.

Please check {Install}\help\PDF\StarCore_Assembler_User_Guide.pdf chapter "Assembler Directives" section "Descriptions"  for more information. THere is a detailed description for notation "< Force Short Addressing" in there

 

 

CrasyCat

0 Kudos
Reply
3,314 Views
kanu__
Contributor III

 

Great Thanks CrasyCat and Tom .

Now it is working fine. 

 

Sorry , next time onwards i  will be more careful to post as different threads.

 

 

__Kanu

 

 

 

 

 

 

0 Kudos
Reply