[go: up one dir, main page]

Skip to main content

An Optimised PIC Programmer Also Having a High Pedagogical Value

  • Conference paper
  • First Online:
Computer and Communication Engineering (CCCE 2024)

Part of the book series: Communications in Computer and Information Science ((CCIS,volume 2192))

Included in the following conference series:

  • 45 Accesses

Abstract

Computer hardware is evolving towards more specialised devices, and especially devices which fit the needs of the Internet of things, such as a low cost and a low power consumption. Due to their long history and unfading popularity, Microchip Technology’s PIC microcontrollers are strong contenders in this field. The programming process of these chips, in other words the upload of machine code into the program flash memory of the controller, is however a non-trivial issue: for example, existing solutions have a non-negligible cost and can face portability issues. In this paper, we propose an optimised method for PIC programming. Besides, our proposal also has a pedagogical virtue: we show that it could be a meaningful addition to a computer architecture lecture.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 109.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 79.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Similar content being viewed by others

References

  1. Gruppuso, F.M.: PIC1650: chip architecture and operation. In: Computer Structures: Principles and Examples, chap. 35, pp. 602–609. McGraw Hill, New York (1982)

    Google Scholar 

  2. Chéour, R., Khriji, S., Abid, M., Kanoun, O.: Microcontrollers for IoT: optimizations, computing paradigms, and future directions. In: Proceedings of the IEEE 6th World Forum on Internet of Things (WF-IoT; 2–16 June, New Orleans, LA, USA), pp. 1–7 (2020). https://doi.org/10.1109/WF-IoT48130.2020.9221219

  3. Gao, C., Luo, L., Zhang, Y., Pearson, B., Fu, X.: Microcontroller based IoT system firmware security: Case studies. In: Proceedings of the IEEE International Conference on Industrial Internet (ICII; 11–12 November, Orlando, FL, USA), pp. 200–209 (2019). https://doi.org/10.1109/ICII.2019.00045

  4. Thompson, N.C., Spanuth, S.: The decline of computers as a general purpose technology. Commun. ACM 64(3), 64–72 (2021). https://doi.org/10.1145/3430936

    Article  Google Scholar 

  5. Microchip Technology, Chandler, AZ: PIC16(L)F18313/18323 – Full-featured, low pin count microcontrollers with XLP (Oct 2017), DS40001799D, ISBN: 978-1-5224-2383-6

    Google Scholar 

  6. Microchip Technology, Chandler, AZ: MPLAB PICkit 4 In-Circuit Debugger User’s Guide (2020), DS50002751F, ISBN: 978-1-5224-6888-2

    Google Scholar 

  7. Bossard, A.: A-IDE: A non-intrusive cross-platform development environment for AVR programming in assembly. In: Lee, R. (ed.) Software Engineering, Artificial Intelligence, Networking and Parallel/Distributed Computing, Studies in Computational Intelligence, vol. 1074, pp. 1–12. Springer International Publishing, Cham, Switzerland (2023). https://doi.org/10.1007/978-3-031-19604-1_1

  8. Bowman, J., Franklin, C., Barnett, D., Ražem, B., Károly, M.: gputils 1.5.2 (Jan 2022)

    Google Scholar 

  9. Finneran, S., Miller, P.: SRecord (Oct 2022), version 1.65

    Google Scholar 

  10. Microchip Technology, Chandler, AZ: PIC16(L)F183XX Memory Programming Specification (Jul 2015), DS40001738D, ISBN: 978-1-5224-0167-4

    Google Scholar 

  11. Vazzana, G.: rpp - Raspberry Pi PIC programmer using GPIO. http://holdenc.altervista.org/rpp/ (2012). Accessed June 2023

  12. Microchip Technology, Chandler, AZ: Microchip Studio Release Note (2020) DS50002917C, ISBN: 978-1-5224-7063-2

    Google Scholar 

  13. Kressner, H.: A simple programmer for PIC LVP’s (May 2020) version 0.25

    Google Scholar 

  14. Neville-Neil, G.V.: In praise of the disassembler. Commun. ACM 64(8), 30–31 (2021). https://doi.org/10.1145/3469118

    Article  Google Scholar 

  15. Bossard, A.: Autonomous on-chip debugging for sensors based on AVR microcontrollers. J. Sensor Technol. 11(2), 19–38 (2021). https://doi.org/10.4236/jst.2021.112002

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Antoine Bossard .

Editor information

Editors and Affiliations

A Appendix

A Appendix

The assembly source code of the main routine of the programmer is detailed in Listing 1.6. The two constants DDRD and PORTD correspond to 0x0A and 0x0B, respectively, as per the ATmega328P specification.

figure f

Rights and permissions

Reprints and permissions

Copyright information

© 2025 The Author(s), under exclusive license to Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Bossard, A. (2025). An Optimised PIC Programmer Also Having a High Pedagogical Value. In: Neri, F., Du, KL., San-Blas, AA., Jiang, Z. (eds) Computer and Communication Engineering. CCCE 2024. Communications in Computer and Information Science, vol 2192. Springer, Cham. https://doi.org/10.1007/978-3-031-71079-7_13

Download citation

  • DOI: https://doi.org/10.1007/978-3-031-71079-7_13

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-031-71078-0

  • Online ISBN: 978-3-031-71079-7

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics