I am new to ARM Cortex 4 and to ADSP-CM403F. I worked with AVR stuff and was able using SD cards with SPI, AVR-GCC. I am working on a schematic for the 120pin ADSP-CM403F chip. To be able to code for MicroSD I will have to connect the right pins of the card to the CPU. Unfortunately I did not find an example yet to see if its possible using 4 data lines as SDIO offers. In the data sheet Rev. A november 2015 there are signals like SPI clock, SPI data 2, SPI data 3. I cannot see SPI data 0 or data 1.
Can anybody please give me a hint where to find an example how to add a MicroSD card (and also a QSPI flash, SRAM) to this chip including a simple C example code? Thank you very much !
You've posted in the GNU Toolchain forum, but you seem to be asking hardware questions?
For chip specific question, you need to go to the Chip manufacturer - they have nothing to do with ARM.
That's also the most likely place to find specific examples.
For the distinction between what ARM does, and what chip manufacturers do, see:
Thank you Andy. Yes - I have posted in the code section because I need some example code for that. For the example code to work the hardware wiring must be set up correctly. So I would need an example for both - software and hardware. Should I ask in another forum for that?I had been at https://www.analog.com/en/products/adsp-cm403f.html and had a look at the documentation they are giving. There is a description of EVAL-CM40X-EZLITE, but unfortunately they are not using and showing a microSD with this. There does not seem to be an Application Note for this."you need to go to the Chip manufacturer - they have nothing to do with ARM."they seem to use an ARM core. Is this not the core where the SPI pins are connected to?Thank you for the link. I will have a look at.
Matt007 said:Is this not the core where the SPI pins are connected to?
See the post I linked: the "core" is just the CPU itself; the SPI, SDIO, QSPI, etc are all the chip manufacturer's own IP - so you need to speak to them for details.
The diagram on the AD Product Page makes it clear:
Only the block marked 'ARM' is the ARM part.
See the section, "ARM CORTEX-M4 CORE" in the datasheet;
See also section 2, "ARM Cortex-M4 Core Memory Sub-System" in the Hardware Reference manual.
Note that it is the Hardware Reference manual which contains the detailed operating descriptions of the peripherals - including the Register descriptions.
I had a look at the files that AD is giving related to this chip. Unfortunately I did not find until now all that I need to make a final decision about the hardware connections of the MicroSD card to the ADSP chip. Without a schematic I cannot start making a PCB. Without PCB I cannot test any software writing to registers.
You said: "Note that it is the Hardware Reference manual which contains the detailed operating descriptions of the peripherals - including the Register descriptions."If ARM only delivers the M4 Core and not the peripherals - then the peripherals are from somebody else made. So I have to use the register descriptions from ADI here? Is this correct? I cannot use Cortex M4 descriptions for that? Did I understand this correctly?
That's what Development Kits are for!
Never go straight to a PCB without first having got up to speed, and proved your concepts, on a Dev Kit.
The ADI document describes the ADI IP.
You will see that there is very little about the M4 Core in the ADI documents - because that documentation is provided by ARM.
For an excellent reference on the M4 Core, I suggest that you get a copy of Joseph Yiu's Definitive Guide:
"That's what Development Kits are for!"I know.
"Never go straight to a PCB without first having got up to speed, and proved your concepts, on a Dev Kit."
Unfortunately this dev kit is quite expensive and it does not fit to what I want to have.No MicroSD easily to attach for testing. No code for it. No support as it seems.I decided starting using the schematic on the dev kit and try building my schematic from this base. Its not easy for a beginner with this but I try.
It does sound like you'd be better off choosing a different board.
Plenty of others offer 16 (and more bit) ADCs
Many have low-cost dev kits; even with SD Cards on them - but more usually just connected over SPI. Using the 4-bit interface is more advanced.
To be honest, it does sound like you're being a bit over-ambitious here - I think you have a lot of basics to cover before thinking of designing PCBs ...
"It does sound like you'd be better off choosing a different board."If you have a helpful hint here Andy - please tell.
"Plenty of others offer 16 (and more bit) ADCs"I did not find much boards using precise 16bit ADCs like ADI does offer. Many are offering ADCs which are much compromized in accuracy by design. "I think you have a lot of basics to cover before thinking of designing PCBs"I already have a 16bit design using a Atmega2560, AD7714, MAX5717. This worked well. I then switched to Atmega32u4, AD7798, MAX5717. The PCB is there - has to be tested yet. So this ADSP-chip is just the next step. In 1986 I worked with a 10bit AD-converter in a medical device. So all this is not so new for me.
Well, yes - Analog Devices (as the name suggests) are the analogue experts.
So if that's your key requirement, that's going to have to drive your decision.
Dealing with the peripherals on an ARM chip is really no different to dealing with the peripherals on an AVR or any other microcontroller - it's all just about reading & writing registers.
"Dealing with the peripherals on an ARM chip is really no different to dealing with the peripherals on an AVR or any other microcontroller - it's all just about reading & writing registers."Yes. I know how to access a MicroSD card with one channel SPI and AVR. But I did not do yet with a 4 channel SPI. I read the data sheets of the SD card and the data sheet from ADI. But unfortunately its still not clear for me where to connect CMD to. I still search for an example. Hopefully at ADI there will be somebody willing to help here.
View all questions in GNU Toolchain forum