AnsweredAssumed Answered

Looking forward to the Cookie STM32 version

Question asked by lee.zhm on Dec 19, 2012
Latest reply on Dec 21, 2012 by lee.zhm

Occasionally heard from some friends, a company release a product called Cookie, it's pretty good and worthy of attention. So I went to the Cookie's official website to have a look at it. Regardless of how cool is this cookie development board based on the Cortex-M core , from the product line layout of the CooCox company, I have to admire the company's keen insight into the market. In addition, the open-source spirit of CooCox company is also scarce in our country.
After ARMv7,the ARM Company began to use the new product name. It's divided into three series:
The Cortex-A series processors are suitable for the application fields with high computational requirements, running rich operating system and the applications of interactive media and graphics experience.
The Cortex-R real-time processors provide high-performance computing solutions for the deep embedded system with strict real-time response limit .
The Cortex-M series processors have been developed primarily for the microcontroller domain where the need for fast, highly deterministic, interrupt management is coupled with the desire for extremely low gate count and lowest possible power consumption.
Among the middle and low-end applications, the Cortex-M series chip with the most popular use. As the ARM Company said: "ARM Cortex-M processor is the global micro-controller standard.
After the advent of the Cortex-M, the major chip vendors (TI, ST, Freescale, NXP, ATMEL) launched their own products based on the Cortex-M cores especially Cortex-M3 core chip, such as the very popular STM32 series in the domestic market. Later, in order to meet market demand of the micro-controller low power consumption application, ARM company cut down part characteristics of the M3, and reduce the instruction to launch M0 kernel. This will directly threaten the traditional 8-bit and 16-bit machine's living space. In addition, the same for the Cortex-M series, M4 has a built-in floating point unit and DSP components to make it more suitable for the need of effective and easy-to-use control and signal processing functions hybrid digital signal control markets.
The emergence of the Cortex-M led microcontroller market reshuffle . Now the situation is : The Cortex-M chip's market price is very low , to the point where even able to compete with the traditional 8-bit machine : such as the high-end AVR mega128 SCM , its market price is about 40 yuan . This price can buy the Cortex-M chip which is more powerful than the AVR mega128 . At the same time the innovation that the Cortex-M chips bring can greatly reduce the labor intensity of developers, such as powerful debugging system, fully using the C programming language. In addition , the M0 core chips mainly capture the blank area of that piece of the market between traditional 8051 and ARM7 / 9 , to replace the 8051 is just a matter of time.
From that perspective, the Cortex-M cores unified the original major chip manufacturers' unique 32-bit architecture, and covered the middle and low-end MCU market. Cortex-M will soon become the de facto standard for microcontrollers.
Later , ARM company timely launched the CMSIS (Cortex MicroControl Software Interface Standard) to unify the programming model and provide consistent API programming interface to developers. Note: ARM dosn't have uniform peripherals. Because ARM company want to build a healthy ecosphere. In order to maintain the sustainable development of the ecosphere, the space necessary to the survival of other vendors. Because after being authorized by ARM company, on the basis of the original Cortex-M cores, the major chip vendors add their own unique features and product a variety of unique chips to meet different application markets. The chip manufacturers survive on peripheral differentiation. If ARM unified peripheral standard, different chip manufacturers produce the same chips. So they have nothing competitiveness, naturally there is no living space for the vendors . ARM can naturally not be long too.
For our chip developers, because of the unified kernel programming model, the kernel code that we write can be ported to another Cortex-M chip without making any changes. It relieves us of the burden.However, for each chip's peripherals, they need to be individually programmed, not portability is concerned. For example, when we need to use the PWM module of LPC to control the steering gear in a project , we have to look up the Reference Manual firstly. And then we configure the clock, set the period and mode and configure the duty cycle. After this project done,we start the next project which use the PWM module to control the steering gear too. But it use the TI's chip in this project. So we have to repeat the process above: configure the clock, set the period and mode and configure the duty cycle. After a month the project is finally over. However, the next project is also to use PWM to control the DC motor. But as for the price factor we choose the STM32's chip to determine the motor speed by control the duty cycle. Are you going to be run crazy now? In fact, from the functional level is concerned, the PWM's main function of different chip are the same. The difference is: 1, it has some special features of the PWM; 2, register set.
In fact, looking back upon the history of computer, we will find some similar phenomena, such as C and assembly language. The assembly language is not portable. It depends on the specific platform. The assembly code does not have the portability, and the original code can not be reused , which greatly increases the burden of the engineer. And later, in order to simplify the programming, there have been C compiler instead of our work. We use the portable C code to generate non-portable assembly code. After portable C language been put to use , we enhance the level of abstraction, no longer consider a small reflection of the assembly executive-level code, but rather focus on the logical layer.
Now back to the peripherals' differences, we also have to think for a long while. Is there a product that can solve this problem playing like the compiler role? OK, there is always no lack of smart people and smart companies in the world, such as CooCox. I said CooCox have original strategic vision because CooCox sights on two points: 1, Cortex-M will led MCU market. 2, the kernel unified interface, but no uniform peripheral interface standard, there is a vacuum.
Based on this, CooCox launched the CoX software interface standard, intended to unify the peripherals. And at the same time it introduced a variety of embedded development tools, such as CoIDE, CoFlash, Colink and so on. It seems that CooCox want to control the entire tool chain. Specific individual components of the role of CooCox have no explanation, you can go to the official website to have a look if interested.
OK, now back to the topic of cookie, Cookie is an open source project for the majority of electronics enthusiasts according to the introduction of the official website. Its hardware and software are both open source . Its mode is much like arduino and Raspberry Pi which is recently popular. Taking a careful analysis of the Arduino, cookies and Raspberry Pi we will find they three, in whether open source spirit, target market and audience demographics, are very similar. But when they combine, it will perfectly cover the entire MCU market.
First let's talk about the Arduino.
Arduino has a very interesting origin. It's said that Massino Banzi heard students often complain that they can not find cheap and easy microcontroller when he was a teacher in a high-tech design school. Massino Banzi was a very responsible teacher. So he found the Spanish nationality chip engineers David Cuartielles and discussed this issue. Finally they decided to design their own board and let the Banzi's student David Mellis design programming languages for the circuit board. They three smart person worked together and naturally had the high efficiency. Two days later David Mellis finished the code. And three days later the circuit board was finished too. This board was named Arduino. Almost everybody, even know nothing about the computer programming, can also design something very cool and funny with the Arduino. Later Banzi, Cuartielles and Mellis put the design drawing onto the network. To keep the design of the open source philosophy, because copyright law can monitor open source software, but it is difficult to use the hardware, they decided to use Creative Commons licenses. Creative Commons (CC) is for the protection of the open copyright acts similar to a license (GPL license). Under the Creative Commons license's permission, anyone can produce the replica of the circuit board, re-design, and even sell copies of the original design. You do not need to pay royalties, even without obtaining permission from the Arduino team. However, if you re-release the reference design, you must specify the contribution of the original Arduino team. If you adjust or alter the circuit board, your design must use the same or similar to the Creative Commons license.
Electronic enthusiasts have always preferred open source works. So when the Arduino was released, it's immediately welcomed by everyone in the global and it drove more people to play this toy. There are also a lot of Arduino community of enthusiasts in our country. Everyone can share the cool stuff that he designs based on Arduino. Slowly, Arduino has accumulated a lot of compatible modules, and based on these modules, enthusiasts can make so many more toies, which is a benign development process.
But now with the development of the electronics industry, user experience gets unprecedented attention, such as touch screen, image processing, which put forward higher requirements for chip performance, at the same time, the complexity of software increases exponentially. Because the Arduino based on the low-end AVR chip, 8-bit machine, clocked 8/16MHz, so performance gradually can not meet the requirements. At the same time it is lack of strong debugging tools, so in the face of complex software, it is difficult to debug. If you've tried 8051, I believe that you've had a very profound experience for software debugging. On the other hand, the price of the chip becomes very low, and now some Cortex-M 32-bit chip's price can compete with the traditional 8-bit machine. This highlights a very high cost performance of 32-bit. To upgrade the Arduino's chip is an inevitable trend.
Referred to Arduino, we have to mention the Raspberry Pi which is very popular(domestic called: raspberry ).
Coincidentally, Raspberry Pi is also invented by a teacher. Cambridge University's Eben Upton and his computer lab colleagues found that the top students that recruited in recent years are weak in programming, far less than the level of students in previous years. What causes a lack of programming ability of these students? Later Eben upton found, in recent years, games and entertainment applications got great development, caused that the first thing is to play the game when these students opened their computers. Not like when they were at school, turnning on the computer is to knock the "hello world" code. See it, the Cambridge teacher is so dedicated, if you want to become a teacher in Cambridge, Open Computer knock hello world! ^ _ ^
Later, these teachers made an easy programming microcomputer intended for computer science students. Later they found, with the development of mobile phone chips, media applications became more and more important, such as listening to music, surfed the Internet, etc. In some economically underdeveloped areas computer,was not yet universal. Many people could not afford expensive PC. So Eben upton, Rob, Jack and Alan, joint CEO of other companies established charitable funds Raspberry Pi, intended to build some more cheapthe computer so that each person had the opportunity to use a computer. Bill Gates had a dream: let everyone have their own computer. Now it seems to realize this dream may not be Microsoft , but the Raspberry Pi Charitable Foundation.
Raspberry was sold out in the first day after released, it would show its popularity. If you are going to buy one, you can order in E-complex union, E-complex union is Premier Farnell Chinese subsidiary. Now Premier Farnell and RS Electronics is the only global agency Raspberry Pi. About the detail introduction of Raspberry Pi , you can visit the website < >.
From a technical point of view at Raspberry Pi now, it uses a more advanced ARM11 mobile phone chip, clocked at 700MHz, uses linux system, supports Android 4.0 system, the high cost performance of the toy, but it's also very difficult to learn it. If you do not come into contact with linux and ARM11, to use Raspb Pi is impossible. However, it is estimated that Cambridge University students have this power. Enthusiasts who have the generally IQ should better to learn it step-by-step. Suppose you had played Arduino, if you want to try Raspberry Pi, please think twice, ah. You have to consider about your ability firstly and then make a decision.
The blank area of learning in the middle of these, who is going to fill it? Of course, it's Cookie. From the perspective of chip performance, Cortex-M series chip is higher than the 8-bit machine, but weaker than the ARM11 performance. For the difficulty of learning, Cookie is between Arduino and Raspberry Pi. Arduino is toy-level. Raspberry Pi is system-level. While Cookie's system size fall in between, so it's completely manageable.
Besides, Cookie's interface is fully compatible with the Arduino board, so the original modules used on the Arduino board can directly be used on Cookie without replacement .
Cookie's another advantage is: you can take full advantage of the various open source tools in CooCox.
Like the component platform, similar with the apple store, is a platform which specially provides components for developers. In traditional Arduino community, electronic enthusiasts are willing to share their component code and hardware modules. But they are scattered, based on the various forums. There isn't a unified global platform to facilitate unified management. Now CooCox realize this platform, hobbies can real-time share their own driver code, components and cool stuff with global enthusiasts.
Such as the CoX interface, enthusiasts can develop various drivers that based on this interface. In this way others can use the driver you develop directly. About the CoX's benefits, the front introduced, not described in detail here.
In short, Cookie is a very good hardware platform, there is a lot of potential waiting for you to explore. The decision-makers of CooCox are also very keen market insight. The future direction of this company is worth attention.
Cookie has been served, welcome to taste!