Download A Bare Machine Sensor Application for an ARM Processor

Transcript
REFERENCES
[1]
Eclipse IDE
[2]
Terminal
Telnet
Console
[3]
RS232/UART
Cable
[4]
[5]
Samsung OK6410 - ADB (No OS)
bareperihperals.bin
Memory
ARM
CPU
start.s
main, gpio,
display,
graphics,
touch, led,
sensor device
[6]
0xc0008000
[7]
[8]
0xc5000000
[9]
images
GPIO
Power Switch
Reset
[10]
[11]
Sensor Device
[12]
Fig. 9. Bare ARM application development environment
[13]
VI. CONCLUSION
[14]
A novel bare machine temperature sensor application was
described in this paper. The application, which does not use
any OS, kernel, or embedded system, has a direct API to
communicate with and control the hardware. A methodology
to develop the sensor application for an ARM processor was
also given. In particular, the bare machine interfaces to build
sensor applications on ARM were identified, and internal
design/implementation details of the relevant hardware API
were presented. Functional operation and the bare machine
aspects of ARM were discussed. The development
methodology can be adapted to build other bare sensor ARM
applications, and bare applications that are portable across a
variety of mobile and pervasive devices with ARM processors.
ACKNOWLEDGMENT
We sincerely thank NSF and in particular the late Dr. Frank
Anger, who initially supported this work by funding through
SGER grant CCR-0120155. Without his encouragement, bare
machine computing concept and explorations could not have
been possible.
[15]
[16]
[17]
[18]
[19]
[20]
[21]
L. Edwards. “Embedded System Design on a Shoestring,” Boston:
Newnes, 2003.
L. He, R. K. Karne, and A. L. Wijesinha, “Design and Performance of a
Bare PC Web Server,” International Journal of Computer and
Applications, vol. 15, pp. 100-112, June 2008.
P. Appiah-Kubi, A. L. Wijesinha, and R. K. Karne. “The Design and
Performance of a Bare PC Webmail Server,” 12thIEEE International
Conference on High Performance Computing and Communications
(AHPCN), pp. 521-526, 2010.
A. Alexander, A. L. Wijesinha, and R. Karne, “A Study of Bare PC SIP
Server Performance,” 5th International Conference on Systems and
Networks Communications (ICSNC), pp. 392 – 397, 2010.
G. Ford, R. Karne, A. L. Wijesinha, and P. Appiah-Kubi, “The
Performance of a Bare Machine Email Server,” 21stInternational
Symposium on Computer Architecture and High Performance
Computing (SBAC-PAD), 2009.
B. Rawal, R. Karne, and A. L. Wijesinha. “Mini Web Server Clusters for
HTTP Request Splitting,” 13thInternational Confrence on High
Performance Computing and Comunication (HPCC), 2011.
R. K. Karne, K.V. Jaganathan, T. Ahmed, and N. Rosa, “DOSC:
Dispersed Operating System Computing,” 20thAnnual ACM Conference
on Object-Oriented Programming, Systems, Languages, and
Applications (OOPSLA), Onward Track, pp. 55-61, 2005.
S3C6410X/OK6410 RISC Microprocessor Rev 1.20 User's Manual.
Samsung Electronics Inc., 2009.
R. K. Karne, K. Venkatasamy and T. Ahmed, “How to run C++
applications on a bare PC,” 6thACIS International Conference on
Software Engineering, Artificial Intelligence, Networking, and Parallel /
Distributed Computing (SNPD), pp. 50 – 55, 2005.
A. Peter, R. K. Karne, A. L. Wijesinha and P. Appiah-Kubi, “The
Design and Implementation of Bare PC Graphics,”7thInternational
Multi-Conference on Computing in the Global Information Technology
(ICCGI) pp.315-320, 2012.
R. Engler and M.F. Kaashoek, “Exterminate all Operating System
Abstractions,” 5thWorkshop on Hot Topics in Operating Systems, p. 78,
1995.
The OS Kit Project, School of Computing, University of Utah,
http://www.cs.utah.edu/flux/oskit. Last Accessed Aug. 2012.
Tiny OS, Tiny OS Open Technology Alliance, University of California,
Berkeley, CA, 2004, http://www.tinyos.net/. Last Accessed Aug. 2012.
J. Lange et al., “Palacios and Kitten: New High Performance Operating
Systems for Scalable Virtualized and Native Supercomputing,” 24thIEEE
International Parallel and Distributed
Processing
Symposium
(IPDPS), 2010.
Y-S Hwang, T-Y Lin, and R-G Chang, “DisIRer: Converting a
Retargetable Compiler into a Multiplatform Binary Translator,” ACM
Transactions on Architecture and Code Optimization (TACO), Volume
7, Issue 4, p18-1:18-33, 2010.
M. Schoeberl, S. Korsholm, T. Kalibera, and A.P. Ravn, “A Hardware
Abstraction Layer in Java,” ACM Transactions on Embedded
Computing Systems (TECS), v.10 n.4, pp.1-40, 2011.
D. Simon , C. Cifuentes , D. Cleal , J. Daniels , D. White, "Java on the
Bare Metal of Wireless Sensor Devices: The Squawk Java Virtual
Machine," Proceedings of the 2nd International Conference on Virtual
execution environments, pp. 78-88, 2006.
W. Ahn, S. Qi, M. Nicolaides and J. Torrellas, “BulkCompiler: HighPerformance Sequential Consistency through Cooperative Compiler and
Hardware Support,” MICRO’09, pp. 133-144, 2009.
DS18B20 1-Wire Digital Thermometer with Programmable Resolution
Datasheet. Dallas Semiconductor Corporation, 2005.
WXCAT43-TG3 4.3’’ TFT-LCD with Touch Panel Module Product
Specification Document. WANXIN IMAGE Inc., 2008
W. Hohl. “ARM Assembly Language. Fundamentals and Techniques,”
Florida: CRC Press, 2009.