List of cores currently available

Cores are the underlying magic that make the Arduino API possible
User avatar
RogerClark
Posts: 6726
Joined: Mon Apr 27, 2015 10:36 am
Location: Melbourne, Australia
Contact:

Re: List of cores currently available

Post by RogerClark » Mon Jul 27, 2015 9:26 pm

Victor,

I'm pretty sure the guy doing MakerLabMe said he was no longer actively developing any of it. (I have listed it in a previous posting)

The only Core that i was not aware of, is the SeeedStudio one.
I took a quick look on GitHub and the CMSIS dates back to Dec 2014, and when i did a search for HAL on the repo, there were only a few comments.

So ad far as I can tell, its not a HAL based implementation, and consequentially we cant directly use it without modifying all the calls in the Wiring code to the Standard Peripheral Lib .

So at the moment I think our best option is to continue with @sheepdoll's excellent work

victor_pv
Posts: 1607
Joined: Mon Apr 27, 2015 12:12 pm

Re: List of cores currently available

Post by victor_pv » Tue Jul 28, 2015 2:48 pm

RogerClark wrote:Victor,

I'm pretty sure the guy doing MakerLabMe said he was no longer actively developing any of it. (I have listed it in a previous posting)

The only Core that i was not aware of, is the SeeedStudio one.
I took a quick look on GitHub and the CMSIS dates back to Dec 2014, and when i did a search for HAL on the repo, there were only a few comments.

So ad far as I can tell, its not a HAL based implementation, and consequentially we cant directly use it without modifying all the calls in the Wiring code to the Standard Peripheral Lib .

So at the moment I think our best option is to continue with @sheepdoll's excellent work
Agreed. After I found the seedstudio one I did a search on github to see if there was anything new using the HAL, sadly nothing new yet.
The seedstudio one can help someone trying to use an F0 mcu with arduino code though, looks like they have a few peripherals working.

dharmendra
Posts: 1
Joined: Sun Aug 30, 2015 9:55 am

Re: List of cores currently available

Post by dharmendra » Sun Aug 30, 2015 10:14 am

how to work on STM32F401RE with arduino? please help me

User avatar
mrburnette
Posts: 1796
Joined: Mon Apr 27, 2015 12:50 pm
Location: Greater Atlanta
Contact:

Re: List of cores currently available

Post by mrburnette » Sun Aug 30, 2015 12:22 pm

dharmendra wrote:how to work on STM32F401RE with arduino? please help me
dharmendra: Welcome

Start with this section of the forum noting the sticky #1 post "limited support". I recommend reading all the posts, it will put the F4 into perspective, that is the current supportability. http://www.stm32duino.com/viewforum.php?f=39

The F4 is very much a work in progress, so please understand that things change daily - well, at least once or twice a week. Think of it as an ongoing engineering experiment.

Ray

User avatar
martinayotte
Posts: 1213
Joined: Mon Apr 27, 2015 1:45 pm

Re: List of cores currently available

Post by martinayotte » Sun Aug 30, 2015 2:34 pm

If you don't have F401 hardware yet, I would suggest to go with an F405, since it is already proven working.

But if you have some F401 hardware, maybe you should start by adding a new variant in STM32F4/board.txt that would match with your hardware.
RAM size, FLASH size needed to be tweaked as well as F_CPU.

Also, check the crystal frequency of your board, since maybe you will have to tweak that too in STM32F4/cores/maple/libmaple/rccF2.c

Then, start slowly with simple Blinker sketch, and gradually ramp up with more stuff like Serial, USB, etc.

User avatar
sheepdoll
Posts: 234
Joined: Fri May 22, 2015 12:58 am
Location: Silicon Valley Vortex
Contact:

Re: List of cores currently available

Post by sheepdoll » Sun Aug 30, 2015 8:36 pm

martinayotte wrote:If you don't have F401 hardware yet, I would suggest to go with an F405, since it is already proven working.
There is a Nucleo F401 option. perhaps the OP has one of those. I have proven working Nucleo F401 code. Note that if one is using the Nucleo, there are a number of hardware mods required to get the clock and serial backchannel streams to work. These are documented in the F1 Nucleo section.
But if you have some F401 hardware, maybe you should start by adding a new variant in STM32F4/board.txt that would match with your hardware.
RAM size, FLASH size needed to be tweaked as well as F_CPU.
There is a bit more to get the F401 working with the AreoQuad code, which the Existing F4 core is based upon. Namely the pin mapping tables (which use different registers that the F103 use. As noted the non F1 Cores are based on an older version of lib maple which does not support some of the more recent Arduino features like serial stream. Changing the pin mapping tables is also is award with the existing F4 core. Most of the existing F4 variants are based on the larger pin count devices.
I think the "R" designator in the chip name is the pin layout. So any "R" would work with the Nucleo or "Weird Arduino" mapping that ST suggests.

Also, check the crystal frequency of your board, since maybe you will have to tweak that too in STM32F4/cores/maple/libmaple/rccF2.c

Then, start slowly with simple Blinker sketch, and gradually ramp up with more stuff like Serial, USB, etc.
Blink and serial stuff are working on HALMX. (I also had them working on the F4) core. So that suggestion is doable.

As far as changes to F4 cores, changes are more like once every couple of weeks or so, although there has been active discussion as to what approach to take. On the other hand if you are wanting to start with STM32 I recommend getting a F1xx board first as that is much more mature and a better platform to use rather than develop with.

User avatar
martinayotte
Posts: 1213
Joined: Mon Apr 27, 2015 1:45 pm

Re: List of cores currently available

Post by martinayotte » Sun Aug 30, 2015 9:01 pm

sheepdoll wrote:As noted the non F1 Cores are based on an older version of lib maple which does not support some of the more recent Arduino features like serial stream.
Hi sheepdoll,
The Stream and Print class were already ported from F1 into F4, since several weeks ago, since I was needing them (it has been merged on June 14th) .

https://github.com/rogerclarkmelbourne/ ... 2a8e4c3fd5

User avatar
Slammer
Posts: 241
Joined: Tue Mar 01, 2016 10:35 pm
Location: Athens, Greece

Re: List of cores currently available

Post by Slammer » Thu Mar 24, 2016 11:36 am

Core based on MX is a nightmare to support it....
MX is actually a code generator for a specific device and for a specific configuration, for generic use a vast number of IFDEFs would be very difficult.
The only viable alternative to maple lib is opencm3. It is stable and it supports many devices.

User avatar
sheepdoll
Posts: 234
Joined: Fri May 22, 2015 12:58 am
Location: Silicon Valley Vortex
Contact:

Re: List of cores currently available

Post by sheepdoll » Thu Mar 24, 2016 6:10 pm

I do not think it is the core that is the issue.

With Arduino and STM there are baseline processors, the Mega328 and the STM32F103. This is how one gets around the nightmare of too many options with new one announced everyday.

I am quite happily using the cubeMX tool to learn more about STM32. It has also helped me understand things with my day work, which I can produce quicker and with more reliability on the AVR platform. In the mean time I continue to do small incremental things with the STM stuff.

Where the outlier is is in the bootloader. I prefer to use a program dongle. It is what I learned with. STM32 does not lend itself to a universal boot loader the way AVR does. I still remember that when AVR came out it could be programmed with a parallel port and some paperclips.

Now we have DFU loaders and code management systems like Git.

User avatar
Slammer
Posts: 241
Joined: Tue Mar 01, 2016 10:35 pm
Location: Athens, Greece

Re: List of cores currently available

Post by Slammer » Thu Mar 24, 2016 10:16 pm

Can you say more about the status of your cubeMX core?
CubeMX is the official way to talk to the chip and ST is very active to support it. This is a big plus, for sure.
I have used the CubeMX way for some small projects but I love to use stm32duino as a fast way to do things specially testing of new hardware using libraries.

Post Reply