Hello everyone,
I would like to know why you are using Cortex-M microcontroller.
Why don't you adopt other microcontrollers such as 8-bit, 16-bit or MIPS or x86?
The background is that I plan to write a special article regarding Cortex-M on the Interface which is the monthly magazine of Japan published by CQ publishing. However, I cannot say why Cortex-M should be featured because Cortex-M is already famous and almost common sense of microcontrollers. I would like to get exclusive (or special) meanings to introduce Cortex-M nowadays. Please let me know the significance of Cortex-M.
Thank you and best regards,
Yasuhiko Koumoto.
Hi yasuhikokoumoto
The main reason I choose an ARM Cortex-M is to have a higher speed which guarantees me a more effective response even in simple applications, the largest memory capacity is also an important factor, allowing the use of more complex algorithms, and clear the scalability of processors, since my focus is more academic can start the project in a smaller version and adopt a more robust microcontroller if the project course is identified to need more resources without worrying about having to rewrite the code to a new architecture. Already 32-bit, end up becoming a gift for the project.
I have several reasons.
I migrated from 8-bit microcontrollers to ARM7TDMI, mainly because I needed to run code directly from the on-chip SRAM.
This was all due to that I needed very high speeds, especially on GPIO ports, but the CPU speed also needed to be high.
I found that the ARM7TDMI was more difficult than I expected, so after a while, I decided to try Cortex-M.
It turned out that it was very easy to get the Cortex-M to do what I wanted, so I've used it ever since.
The main reasons I use Cortex-M over 8-bit microcontrollers are:
(Yes, all the above mentioned reasons are important to me, though there are more benefits when using Cortex-M than the above)
Note: On some Cortex-M microcontrollers, it's possible to use the DMA to write the GPIO pins and thus output more than 32 bits on the exact same clock cycle.
I'm very much interested in developing with Cortex-A, but to do so, I'm still required to learn a lot more.
Cortex-M, on the other hand, is an easy way to get fast speeds and connect extra memory.
Nice points by jensbauer.
Would like to add a couple more.
1. I was fascinated to Cortex-M because of the range it offers. Starting from Cortex-M0 upwards to M7 now, the number of devices available are really vast. This has the benefit that if I want to develop a very small product low cost (Let's say some handheld battery powered, or the wearable kind), there is a good choice M0. At the same time, if I want to develop quite a complex product needing lot more computing power, DSP or more number of I/Os, peripherals like Ethernet, USB.. Yes I can go for M4 or M7.
2. The added advantage of this range is you can keep using the same tools so don't need more and more investment per product.
3. Since ARM is very popular, it is easier to get engineers to work on the ARM processors than to get people with expertise on some other. (This is comparative, not saying that we don't get people for other processors).
4. CMSIS makes it a bit easier to write a uniform code.
5. There is also choice of different vendors. Although the code may not be directly portable from one vendor's processor to another, still it gives a peace of mind that choice is available without major disruptions to the software.
Hope it helps. Do send us a link of the article (if it is in English !)
Hello Carlos Delfino, Jens Bauer and Gopal Amlekar,
I am very pleased with your comments.
From them, I feel the advantages of Cortex-M would be scalability and best performance/MHz.
Hello Jens Bauer, I understand you loves (probably) STM32 very much and I guess ARM would be happy because of your fascinations.
Hello Gopal Amlekar, unfortunately the magazine does not have English link and not be opened full articles. The first page of each articles is referred from http://interface.cqpub.co.jp/ but it is written in Japanese.
Anyway, I will put basic ideas of the introduction parts of the issue and at I might write articles of other topics. The issue date is 25th December of this year.
For your information, I have been inspired by your comments and thank you very much.
Currently my idea is that I feel the definitions (or significance) of Cortex-M have been verified from the original ARM assumptions at the IoT era. For example, almost all wearable devices had been adopted Cortex-M4(F) (not Cortex-M3 or Cortex-M0) and even in the case of Cortex-M0, it will run at over 200MHz clock frequency. I think it would be the time to re-define the importance of existence for Cortex-M series.
Any questions and even objections are welcome.
Best regards,
Indeed, I'm very fond of the STM32 family.
So far, these are the highest clock frequency speeds I've noticed:
- I believe that at some point, we'll also see the Cortex-M0+ running at 200 MHz or more (maybe it already does).
The STM32 family shows that they can perform better than microcontrollers using the same core, which runs at a higher clock frequency.
Though I fancy the STM32 family the most, I still like to work with other microcontrollers, as long as they have an ARM core.
Hello Jens Bauer,
this is just for your information.
Renesas Synergy MCU S7 series equips Cortex-M4 core of which speed is 240MHz.
http://www.renesas.com/products/embedded_systems_platform/synergy/microcontrollers/s7_series/index.jsp
Because it will be produced by 40nm process, the power consumption is only 18mA at run mode and 0.9uA at the standby mode.
Also Renesas Technology has the high speed flash technology, and S7's flash will operate at 100MHz.
I think it would be the most powerful Cortex-M4 microcontroller.
However, it cannot be sold in form of a separated device. It is a part of the Renesas Synergy Platform.
Thank you for letting me know this.
I have no doubt that speeds will still increase (even for the Cortex-M3).
The S7 specifications really look good, especially the 640KB SRAM and dual Ethernet.
It does look like different packages are available: LQFP 100/144/176, BGA 176/224, LGA 145, so I think they will be available in stand-alone form at some point.
Jens,
Like Yasuhiko's FYI for Renesas Synergy MCU S7,
Analog Devices' ADSP-CM40x, which is also based on the ARM®Cortex®-M4, can run up to 240 MHz, the maximum clock speed of the Renesas S7.
The ADSP-CM40x may not have much charm to you since the family is designed primarily for motor control and industrial applications and because of the price of Evaluation Boards. The S7 has twice the Flash and almost twice the SRAM and has more features such as security and human-machine interface. The S7 is under development. The ADSP-CM40x is in production, it was introduced between 2013 and first quarter of 2014, I don't have more accurate estimate of the date because I lost the notification.
The LPC4300 is a little slower but it's a two-core processor, Cortex M4F and Cortex M0 both having maximum clock of 204 MHz.
Goodwin
Hello all,
Big News.
Synergy MCU S7G2 and S3A7 are now available at Digi-Key.
We cannot buy by form of a part but can by form of a board.
Please refer to the following links.
Evaluation Boards - Embedded - MCU, DSP | Programmers, Development Systems | DigiKey
YSDKS3A7E20PWS2 Renesas Electronics America | YSDKS3A7E20PWS2-ND | DigiKey
Also, the flash speed of 240MHz S7G2 has been unveiled. It is 120MHz!.
The following article explains (sorry in Japanese)
1) Why was ARM architecture adopted?
2) Why was Cortex-M4 chosen instead of Cortex-M3?
3) Why was Cortex-M7 not selected?
Renesas DevCon 2015 - ルネサスがSynergyに注力する意味と意義とは? (4) なぜSynergyはARM Cortex-Mコアを採用したのか? | マイナビニュース
Renesas DevCon 2015 - ルネサスがSynergyに注力する意味と意義とは? (5) なぜ、Cortex-M3ではなく、Cortex-M4が採用されたのか? | マイナビニュース
For your information, I would add the short summary.
1) The new market will be it in which ARM microcontrollers had been already adopted and it which Renesas had not reseached yet.
To enter it, the peripherals were re-investigated and applied to customer convenience.
As the results, the software compatibility had been lost with traditional Reenesas microcontrollers and make the new ARM series.
2) Reneas had build both Cortex-M3 and Cortex-M4 platforms.
From the whole system power consumption aspect, Cortex-M4 was better than Cortex-M3.
The transition time between RUN and STANDBY modes was faster with Cortex-M4 than Cortex-M3.
The additional instructions (DSP/FPU) made Cortex-M4 higher performance.
3) The supply of Cortex-M7 had not been in time by about 6 months.
Because the flash speed is 120MHz, the 240MHz S7G2 is very fast and the clock scheme is simple.
The peformance of Cortex-M7 and Cortex-M4 had been almost the same but the power consumption of Cortex-M7 had been higher than Cortex-M4.
This is great information and wonderful news!
The $75 kit really looks great; it's affordable and offers quite a lot of features.
I think that Renesas would be able to make the Cortex-M7 perform 1.6 times the Cortex-M4, though.
-But we'll have to wait and see what they come up with.
Do you know how "wide" their GPIO ports are (eg. 16 pins or 32 pins per port) and when running at 240 MHz, how many clock cycles it takes before a pin changes from low to high or hight to low ?
The width of GPIO is at max. 172 depending on a packaging.
Almost all functional pins can be configured as GPIOs.
GPIO is driven by at max. 120MHz and change latency would be 1 cycle.
If you want the cycles from store execution to GPIO output, I don't know it.
"GPIO is driven by at max. 120MHz and change latency would be 1 cycle"
This indeed sounds very nice.
Just to confirm: It will be able to change the value of a single GPIO pin 240000000 times per second ?
(The reason for me asking, is that I'm very interested in fast parallel data transmission, thus I need a high speed and as many pins as possible).
I think a GPIO pin can keep high by 1 cycle and low by 1 cycle.
So, It will be able to change the value of a single GPIO pin 60000000 times per second at 120MHz.
The data width of one transaction is at max. 16 bits.
Therefore 60MHz 16bit GPIO can get 120MB/sec.
Scalability is greater, i2c i2s, net .......
More convenient application
Do not need to know the specific register settings
So easy to transplant to any items
Hello Alex Lee,
Please tell me the inevitability why the cpu core should be Cortex-M.
Your answer sounds as if any cpu cores are appropriate.
More chip companies can choose using cortex-m
该文档由下列讨论生成:Why do you use Cortex-M?