Comparison of CC2540 and nRF51822 application development
[Copy link]
I looked at the application development in nRF51822 SDK, and found it quite different from TI.
TI CC2540 has a relatively complete development framework, and this software framework has been used since the zigbee chip CC253x. In CC2540, except for the RF part, the other peripheral modules and software frameworks of the chip have not changed, which shows that TI's architecture is already quite complete. TI's software hierarchy is relatively clear, and the division of OSAL, HAL, and application layers is reasonable; OSAL and HAL provide relatively rich functions, and writing applications can be said to be handy.
The application layer code of nRF51822 looks relatively "simple", or crude. The first feeling after looking at the code is: Why is it so similar to the code I wrote when I was learning the C language for microcontrollers in college... Of course, such code is not necessarily a bad thing, and many people may need such code. Nordic provides some "drivers" for peripherals, which are generally worse than TI's HAL. For example, the UART driver is blocking, while TI can use DMA to implement non-blocking UART data transmission and reception. This is due to the limitation of the Nordic chip hardware. There is no DMA in 51822. Nordic's documentation is weaker than TI's. TI at least has development guides and other documents; Nordic only has function descriptions generated by doxygen, and development basically relies on comments in routines.
|