spayra1 / MAX32660

Embedded systems development using the Maxim MAX32660 microcontroller
4 stars 1 forks source link

How to develop for the MAX33660 with Arduino? #1

Open SunboX opened 3 years ago

SunboX commented 3 years ago

Hi,

Can I ask two questions please?

I own a MAX32660 EVSYS. It is not officially supported in the MaximTechnologies Arduino Boards and Examples.

Currently I'm using the Maxim modified Eclipse version. But it's not that nice.

How can I develop for this Chip / board using Arduino IDE?

Second, my MAX32660 seems to be very slow. I know it has an external crystal on board, and I know that there are some settings to control the performance and power consumption. I don't care about power consumption. But I need max possible performance / speed. Sadly, there are not much code samples or forums where I can ask such questions. Do you know, how I can achieve this?

Or can you point me to some open community / support forum where I can ask about this?

spayra1 commented 3 years ago

Hi, Thanks for reaching out!

Unfortunately, within the course of my research work using the MAX32660, I haven't found a method to develop for this MCU using the Arduino IDE. Let me know if you do find a way to do so, because I've been using the custom Eclipse environment as well and the Arduino environment is definitely much more straightforward. However, it seems that many of the core libraries on the MAX32660 are Maxim-specific, which may be the reason why it's not supported in Maxim's official Arduino libraries. There does exist Arduino Cortex-M0 support else (e.g. various Adafruit boards) so there may be a possibility of Cortex-M4F support in the future, but I don't know if it's likely, especially with the Maxim-specific bootloaders used on the 32660. At some point, it may be possible to flash a custom bootloader and then use the Arduino IDE, but I haven't seen any such instances online yet.

Regarding the speed issue, do you know if there may be any sources of delay in your code? For example, many sample scripts have delays of multiple seconds, which would have the observed effect of slow execution if you're only executing in the gaps. The CPU should run up to 96MHZ (official internal clock, it seems anecdotally possible to go past that on a Cortex M4F with an external crystal but I haven't tried) and I don't think the low-power modes are activated 'out-of-the-box'. From the Maxim Eclipse SDK, you can try running some of the sample RTC / SysTick code to see if you are getting expected timing outputs, and you can tweak the timing parameters to explore the bounds of your system.

For technical questions, there are some limited answers in the Maxim Knowledge Base and after that I've found the Maxim support to be quite responsive. You can create an account and file a technical support ticket within the Maxim website, and their engineers / support staff should be able to provide good instructions.

Best of luck!

honnet commented 2 years ago

Hey Syamantak! I was looking into the news about the Huada HC32L110 and remembered your work on this other nicely small MCU...

@SunboX: if you're considering an arduino port for your next steps, you might be interested in starting from this repo: https://github.com/MaximIntegratedMicros/arduino-max326xx

Source: http://www.ulisp.com/show?2IN9 Good luck!