2020/04/17 16:57:37
PStechPaul
I just tried building and simulating an old mpasm project for a PIC16F84. It seems to work OK, but gives this warning:
MPASM is not supported on 64 bit Operating Systems. Please consider migrating your project "U19A2T1-4" configuration "default" to XC8 Assembler or continue to use a previously released IDE.

2020/04/18 03:03:07
Mark Yampolsky
dan1138
 
If we look at what Microchip is doing for the PIC24/dsPIC33 with regard to assembly coding they want to support it only as an extension in a C language program.
At present in is not possible to create a project using only assembler source files for new PIC24/dsPIC33 devices. 

Where does such strange information come from?
All my recent projects using dsPIC33EP512GM304, dsPIC33EP128MC202(204) and PIC24FJ256GA702 are going to build and compile hex files quite normally. Since ASM16 (instead of ASM30) is part of the XC16 package, there are no grounds for your allegations.
All of these projects are written in pure ASM (.s/.inc/.gld files) and used by MPLAB X 5.35.
 
2020/04/18 06:14:11
1and0
And why the XC8 compiler install folder has a subfolder of only MPASM files: MPASM assembler, MPLINK linker, MPLIB librarian, device specific include files, and so on?
 
2020/04/18 12:22:13
dan1138
Mark Yampolsky
dan1138
 
If we look at what Microchip is doing for the PIC24/dsPIC33 with regard to assembly coding they want to support it only as an extension in a C language program.
At present in is not possible to create a project using only assembler source files for new PIC24/dsPIC33 devices. 
A project is required to have at least one C language source file to initialize the configuration words for controllers with partitioned program flash space like the PIC24FJ1024GB606 or dual code core dsPIC33 devices.

Where does such strange information come from?
All my recent projects using dsPIC33EP512GM304, dsPIC33EP128MC202(204) and PIC24FJ256GA702 are going to build and compile hex files quite normally. Since ASM16 (instead of ASM30) is part of the XC16 package, there are no grounds for your allegations.
All of these projects are written in pure ASM (.s/.inc/.gld files) and used by MPLAB X 5.35.

I feel that you have misquoted my post so I added the missing part in bold for better context.
 
The part you have created assembly language project for: dsPIC33EP512GM304, dsPIC33EP128MC202(204) and PIC24FJ256GA702, in my view these device are not the "new" parts. What are new are parts have dual partition program flash space or dual execution cores.
 
I have yet find a method to set the FBOOT configuration word for my PIC24FJ1024GB606 without using the #pragma config FBOOT statement in a C file.
 
If you have a method to initialize the configuration words of these device using the Microchip supplied include files for assembly language please share that code.
2020/04/18 18:48:00
Mark Yampolsky
dan1138
I have yet find a method to set the FBOOT configuration word for my PIC24FJ1024GB606 without using the #pragma config FBOOT statement in a C file.
If you have a method to initialize the configuration words of these device using the Microchip supplied include files for assembly language please share that code.

You are trying to discuss not the problems of assembler as a tool, but the availability of examples of assembler code for all occasions.
In order to write such examples for you, the microchip must hire special people who will be for you and such as you generate the code for these examples in assembler. Is free. Because assembler is free. But assembler programmers are very few and they do not affect silicon sales.
Therefore, I advise you to create your own assembler library.
I worked with PIC24FJ1024GB606, but did not use the mode of work with two partitions. But I do not see any problems for their use. Now, because of COVID19, I work remotely, and not in the office, so I don’t have a product with PIC24FJ1024GB606 available and I can't find a solution for you immediately. I think that within one month I will be able to get to the office and take this product there in order to write an example code that interests you.
A manual for writing code for dual-core MK is available. This requires the creation of two separate projects (slave and master) and a special “master stub” project for debugging the slave.
2020/04/18 19:39:00
ric
You are addressing one of the most experienced programmers on this forum.
He is not asking you to write code for him, just a method to do something which appears impossible on these new chips with the old assembler.
 
2020/04/18 21:28:06
dan1138
ric
You are addressing one of the most experienced programmers on this forum.

Ric, it's very kind of you to make such a nice comment. Your view of my abilities may not be shared by all the members here :)

Mark Yampolsky
dan1138
I have yet find a method to set the FBOOT configuration word for my PIC24FJ1024GB606 without using the #pragma config FBOOT statement in a C file.

If you have a method to initialize the configuration words of these device using the Microchip supplied include files for assembly language please share that code.

You are trying to discuss not the problems of assembler as a tool, but the availability of examples of assembler code for all occasions.
In order to write such examples for you, the microchip must hire special people who will be for you and such as you generate the code for these examples in assembler. Is free. Because assembler is free. But assembler programmers are very few and they do not affect silicon sales.
Therefore, I advise you to create your own assembler library.
I worked with PIC24FJ1024GB606, but did not use the mode of work with two partitions. But I do not see any problems for their use. Now, because of COVID19, I work remotely, and not in the office, so I don’t have a product with PIC24FJ1024GB606 available and I can't find a solution for you immediately. I think that within one month I will be able to get to the office and take this product there in order to write an example code that interests you.
A manual for writing code for dual-core MK is available. This requires the creation of two separate projects (slave and master) and a special “master stub” project for debugging the slave.


Mr. Yampolsky,

My comment goes to the heart of how Microchip seems to regard assembly language for their controllers.

Your statement: " ... I don’t have a product with PIC24FJ1024GB606 available ..." raises the question with how developers work with the Microchip tool chain. It would appear that you require having a physical controller chip connected to the In-Circuit-Debug tool before attempting to create any code at all.

The example I seek requires only the MPLABX IDE and the XC16 compiler the simulation tool or real hardware is not needed. Just opening the "Configuration Bits" window would show everything I could need.

As you have interpreted my request as a request for example code to initialize a dual core dsPIC using assembly language. All I can say is this is not what I asked for. Perhaps I should seek advise from other members with more experience and fewer axes to grind.

As far as a library of example code I have posted some on github here: https://github.com/dsoze1138

The repositories I post on github are projects I have done for my own education and as examples to support posts I have made on various forums. While I have a day job of writing embedded firmware these repositories are exercises that keep me in practice.

Have you made any of your code or projects accessible to the public?
2020/04/18 23:26:26
Mark Yampolsky
dan1138
Mr. Yampolsky,
My comment goes to the heart of how Microchip seems to regard assembly language for their controllers.
Your statement: " ... I don’t have a product with PIC24FJ1024GB606 available ..." raises the question with how developers work with the Microchip tool chain. It would appear that you require having a physical controller chip connected to the In-Circuit-Debug tool before attempting to create any code at all.

The example I seek requires only the MPLABX IDE and the XC16 compiler the simulation tool or real hardware is not needed. Just opening the "Configuration Bits" window would show everything I could need.

Well, I created a project in MPLAB X and figured out what you are talking about.
But I also have a question .... How is it in English?
In Russian, it will be: "Vam shashecki ili ehat?" - "Аre you looking for "checkers" or do you need to go?" )))
Do you always follow assembler warnings? Do you always follow all the warnings in real life?
But I am not so "law-abiding."
Therefore, I always use the design:
 config __FBOOT,BTMODE_DUAL

You won’t believe .... It works !!!
)))))
 
 

Attached Image(s)

2020/04/19 01:39:06
Mark Yampolsky
ric
You are addressing one of the most experienced programmers on this forum.

What should I do with this information? Beat low bows? )))
2020/04/19 01:44:26
ric
Mark Yampolsky
ric
You are addressing one of the most experienced programmers on this forum.

What should I do with this information? Beat low bows? )))

Get down off your high horse and stop treating him like a newbie asking someone to write all his code for him.
Dan has helped many hundreds of people on this forum, and as he just stated, published many examples of code for others to use.
 
© 2021 APG vNext Commercial Version 4.5

Use My Existing Forum Account