A Practical Application of ARM Cortex-M3 Processor Core in Embedded System Engineering

Full Text (PDF, 1640KB), PP.70-88

Views: 0 Downloads: 0


Oluwole O. Oyetoke 1,*

1. The University of Leeds, Department of Electronic and Electrical Engineering, LS2 9JT, Leeds, United Kingdom

* Corresponding author.

DOI: https://doi.org/10.5815/ijisa.2017.07.08

Received: 12 Jan. 2017 / Revised: 1 Mar. 2017 / Accepted: 26 Apr. 2017 / Published: 8 Jul. 2017

Index Terms

ARM, Cortex-M, Processors, Embedded System, Temperature Sensor, SPI, I2C, TMP102, Embedded C


Embedded Systems Engineering has grown in recent years to become an integral part of our daily living as it finds striking applications in various spheres of our lives. These range from Manufacturing, Electronic Health, Telecommunications, Construction and Robotics to numerous other fields. Primarily, Embedded Systems are usually a combination of selected electrical and electronic components functioning together under the direct control of a programmed controller. They serve fundamentally as additional units incorporated within already existing infrastructures with the sole aim of providing dedicated services to the larger infrastructure. Many of the controllers used operate on uniquely designed processor cores, instruction sets, and architecture profiles. This paper seeks to elucidate the application of the ARM Cortext-M3 processor based NXP LPC 1768 Microcontroller unit in the design and development of a Temperature Monitoring and Logging System. The write-up starts off with an overview of the principal ARM processor core families, architecture profiles, instruction sets and subsequently, demonstrates its utilization in the design of a Temperature Monitoring and Logging System. The paper shows how the NXP LPC 1768 Microcontroller Unit successfully serves as the brain of the temperature logger device through its standardized interfacing with a TMP102 temperature sensor using the Inter- Integrated Circuit (I2C) protocol. The Microcontroller is programmed using Embedded C while other unique functionalities of the ARM Cortex-M3 core such as Interrupt Handling and System Tick Timer efficiency are also explored.

Cite This Paper

Oluwole O. Oyetoke, "A Practical Application of ARM Cortex-M3 Processor Core in Embedded System Engineering", International Journal of Intelligent Systems and Applications(IJISA), Vol.9, No.7, pp.70-88, 2017. DOI:10.5815/ijisa.2017.07.08


[1]Oluwole O. Oyetoke and Adedayo Adedapo, 'A Microcontroller Based Embedded System Design for Device Automation and Control in Intelligent Buildings', International Journal of Research (IJR), Volume 2, Issue 12, pp1,December 2015. [Online]. Available: http://internationaljournalofresearch.org. [Accessed 1st January, 2017].
[2]Oluwole O. Oyetoke and Adedayo Adedapo,’ Embedded Systems Engineering, the Future of Our Technology World; A Look Into the Design of Optimized Energy Metering Devices’, International Journal of Recent Engineering Science (IJRES). volume18, pp1 December 2015. [Online]. Available: http://jetir.org. [Accessed 1st January, 2017].
[3]Michael Barr; Anthony J. Massa (2006). "Introduction". Programming embedded systems: with C and GNU development tools. O'Reilly. pp. 1–2. ISBN 978-0-596-00983-0.
[4]Barr, Michael (1 August 2009). "Real men program in C". Embedded Systems Design. TechInsights (United Business Media). p. 2. Retrieved 2009-12-23.
[5]Michael Barr. "Embedded Systems Glossary". Neutrino Technical Library. Retrieved 2007-04-21.
[6]Heath, Steve (2003). Embedded systems design. EDN series for design engineers (2 ed.). Newnes. p. 2. ISBN 978-0-7506-5546-0. An embedded system is a microprocessor based system that is built to control a function or a range of functions.
[7]LPC1768/66/65/64 datasheet, 11th February, 2009, 32-bit ARM Cortex-M3 microcontroller.
[8]Merriam-Webster Dictionary. (1st January, 1973). LCD [Online]. Available: https://www.merriam-webster.com/dictionary/LCD. [Acceded: 20th December, 2016.
[9]Tim Wilmshurst and Rob Toulson. (2013, October 26th). ARM design on the mbed Integrated Development Environment - Part 1: the basics [Online]. Available: http://www.embedded.com/design/programming-languages-and-tools/4423344/ARM-design-on-the-mbed-Integrated-Development-Environment---Part-1--the-basics . [Accessed: 27th December, 2016]
[10]I2C Bus website, (2006, December 31st). I2C – What’s That? [Online]. Available: http://www.i2c-bus.org/i2c-bus/. [Accessed 28th December, 2016].
[11]Robot Electronics. (2016). Using the I2C buss [Online]. Available: http://www.robot-electronics.co.uk/i2c-tutorial. [Accessed: 29th December, 2016].
[12]Texas Instruments, (2015 August). TMP102 Low-Power Digital Temperature Sensor with SMBus and Two-Wire Serial Interface in SOT563 [Online]. Available: http://www.ti.com.cn/cn/lit/ds/symlink/tmp102.pdf. [Accessed: 29th December, 2016].
[13]ARMmbed Handbook. (2016). Ticker [Online]. Available: https://developer.mbed.org/handbook/Ticker. [Accessed: 29th December, 2016].
[14]Oluwole O. Oyetoke and Adedayo Adedapo, 'The Design and Development of a Computer Controlled Embedded Energy Management System’, Journal of Emerging Technologies and Innovative Research (JETIR), Volume 3, Issue 1, pp1, January 2016. [Online]. Available: http://jetir.org. [Accessed 1st January, 2017].
[15]Wikipedia. (2016, December 1st). Class Diagram [Online]. Available: https://en.wikipedia.org/wiki/Class_diagram. [Accessed: 30th December, 2016].
[16]Sparks, Geoffrey. "Database Modelling in UML". Retrieved 8 September 2011.
[17]David Zax MIT Technology Review, (2012, December 3rd). Many Cars Have a Hundred Million Lines of Code [Online]. Available: http://www.technologyreview.com/view/508231/many-cars-havea-hundred-million-lines-of-code/. [Accessed: 2nd January, 2017]