#Sample code
Explore tagged Tumblr posts
wordacrosstime · 5 months ago
Text
Programming Embedded Systems (with C and GNU Development Tools)
[Programming Embedded Systems (with C and GNU Development Tools). By Michael Barr & Anthony J Massa. 2nd Edition, 1 October 2006. Publisher: O'Reilly Media. Paperback: 301 pages, Dimensions: ‎ 17.78 x 1.98 x 23.34 cm. ISBN: 978-0-596-00983-0]
In the past 15 months or so I elected to expand my personal and professional skill set to include working with small computing systems, sometimes referred to as microcontrollers.  These devices have become virtually omnipresent, in everything from automobiles and bar-code scanners to toasters and doorbells.  If you operate a late-model vehicle, for instance, you may have as many as 70 (!) of these devices in the car controlling everything from the fuel mixture to emissions to anti-lock brakes and collision avoidance sensing.
I was interested in moving into this arena as part of my career, as there were many openings for people with a strong understanding of the imperatives attendant on both the software and hardware of embedded systems.  I knew a bit about the electronics side of things and I have done software development of one sort or another most of my 40+ years as a professional, but this arena poses unique challenges and opportunities.  I knew I needed to do some specialized self-teaching, and this book seemed like a great place to start.
To start with, what exactly is an embedded system?
As the name implies, it is a system - in this case a miniature computing device - that is a component of a larger framework.  This larger framework can take on myriad forms.  Some of the largest such frameworks are satellite networks.  The embedded system comprises hardware - a central processing unit, or CPU, along with some (minimal) on-board memory and one or more electrical interfaces (e.g. a USB or RJ45 jack) through which it can communicate with the outside world. 
Unlike the computers most of us are familiar with, such as Windows or MacOS-based laptops or Linux servers, these devices often do not have an operating system (WIndows, MacOS and Linux are all operating systems) that performs many of the low-level functions needed to keep the device running and useful. 
This keeps the device flexible in terms of how it can be used, but at the expense of more detailed and subtle development and maintenance requirements.  Thus, the "software" on an embedded system may be a very small bit of computer code that simply turns on the interfaces electrically and then waits for something to happen.
Programming software for these systems is intriguing but fraught with issues that an ordinary computer user never sees.
For example, given that the memory and interface resources on these devices tend to be rather modest, it's necessary for the programmer to take care of any bookkeeping that is necessary to keep the basic functions from colliding.  If one of the interfaces is used to provide a scanned barcode to a waiting receiver, it must pass that information through some on-board memory first.
The embedded software designer needs to be sure that this information can't be corrupted, or "clobbered", by a competing task that might be, for instance, putting the scanning laser into sleep mode to save power.  Moreover, there are cases where the same locations in memory need to be shared by tasks as a part of getting work done.
But what happens if one task is trying to write data to a specific memory location while another task is trying to read from it?  Is there always a specific order in which this happens?  What happens if either operation is incomplete for some reason?  Will the device recover and continue to operate, or will it lock up?  The aforementioned are but a tiny set of examples that the developer must bear in mind.
Messrs Barr and Massa have many decades of experience between the two of them in just these kinds of environments. I was delighted to see just how easy this book is to read and how thoroughly they cover all of the issues that accompany such a software development enterprise.  They are careful to create and explain examples that use commonly-available development kits (I use an STM32 ARM Cortex-M Development Board myself; there is a photo of one such system below) and free or nearly-free software tools to break down the barriers to entry in this field.
Tumblr media
This book is really as much about operating system design as it is about microcontroller software development; if one is interested in what nearly every operating system must do, this volume talks all about it. 
Above and beyond this, it is a wealth of anecdotes, sample code, and general wisdom that will really ease the novice into this exciting world of programming and small-device control.
I highly recommend it to anyone who wants to get down on the bare metal with computers.  It is necessary to be at least familiar with the C programming language (almost all of the examples are coded in C) and it would be very helpful to have worked with at least one Assembly language as well.  Beyond that, the only requirement for getting the most out of the book is a willingness to experiment and be delighted.
Tumblr media Tumblr media
Image Credits (from above down; with thanks to copyright owners): (1) STM32 ARM Cortex-M Development Board © Copyright Owner, date unknown (2) Book Cover © O'Reilly Media 11 October 2006 (3) Michael Barr © Barr Group 2012-2025. (Anthony J Massa, no photograph found)
Kevin Gillette
Words Across Time
4 February 2025
wordsacrosstime
0 notes
numbuh424 · 8 months ago
Text
Tumblr media Tumblr media Tumblr media Tumblr media Tumblr media
hi I'm opening emergency commissions for the time being
EDIT: no longer an emergency situation! but I'll be keeping my sheet at these discounted prices for the time being! 🫶
no slot limit for now, so please be patient with me 🙏 dms are open if you're interested!
ko-fi donations are also welcome ☕
any form of support is greatly appreciated, thank you so much!
sketch samples and other details under the cut ↓
sketch samples!
Tumblr media Tumblr media Tumblr media
my usual terms of service still apply. price may increase depending on complexity and details but not by too much. :>
feel free to dm as well if there's anything you have questions about.
thank you!! 🙏
Tumblr media
80 notes · View notes
lady-of-ithilien · 3 months ago
Text
6 notes · View notes
putergenius · 2 months ago
Note
do you have any favorite perfume brands that are >$100?
prices vary based on bottle size and whatever location you’re ordering from, but for the most part these are >$100
Tumblr media Tumblr media
tried including brands that ik ship internationally too btw. even if the brands don’t have intl shipping, their perfumes may be available on other distribution sites…just look it up🫶��
6 notes · View notes
renavi0 · 1 year ago
Text
Tumblr media
I’m doing something new for the rain code vampire hunter au, and it’s several pages long
This will definitely take a lot of time cause I also need to work for the zine, as well as on the arts that I have planned for some certain dates
26 notes · View notes
dailyfubukiclockford · 9 months ago
Text
Day 19 of Fubuki
Tumblr media
10 notes · View notes
friedricebunny · 3 months ago
Text
chat i hate learning about physics calcs for basic movement and yet i cannot tear myself away from the samples
3 notes · View notes
sn4kebites · 11 months ago
Text
please god give me this job the experience is in the exact field and study i want please god if you fw me big g.o.d pleaseeee give me this job
i have my technical interview tomorrow but its more stressful because i asked if i would be writing code and he said no . this is a data science role what are you going to have to me do if not that ?!?!?!
14 notes · View notes
kyouzen · 1 year ago
Text
Tumblr media
I'm not ready to do the lineart for the Bloodveil
12 notes · View notes
juney-blues · 1 year ago
Text
if i hear another person talk about a retro game, system, or computer having a specific "soundfont" i think i'm gonna lose all will to live and spontaneously drop dead in front of them
12 notes · View notes
kicksnscribs · 11 months ago
Text
ok so this is like, incredibly ambitious for a first time project and im more posting this for posterity than anything BUT
im planning on practicing my 3d modeling skills by modeling the objects from pokemon games starting from the most simple and [hopefully] ending up with more complex things like furniture and plushies found in the games [provided i can find the refs for them] and i was sitting here just now thinking "now what can i do with these props in the meantime while i try to figure out how to make my own pokemon game?"
WELL....
what about making a simple room designer game that brings back the base camp mechanic that Gamefreak abandoned a long time ago and uses said props? Would anybody be interested in following a project like that? :3c
8 notes · View notes
aizawashuichi · 4 months ago
Text
I spent so much time making this work skin but ngl I like how it looks
2 notes · View notes
detectivehole · 1 year ago
Text
i absolutely love playing with the data visualizations on citizen dj and creating what is to other people apparently auditory sensory hell but to me is the correct amount of noise anything should make. please try it
12 notes · View notes
saysbruh1 · 1 year ago
Text
Who Really Cares was written about them and you CANNOT convince me otherwise fuck you
Tumblr media
12 notes · View notes
theguardianace · 1 year ago
Text
wait. super random question
any languages, btw!!
12 notes · View notes
fingertipsmp3 · 11 months ago
Text
Friendship ended with google sheets, now filofax is my best friend
#i’ve been tying to come up with a system for verb conjugations#like recording all the verbs i’ve encountered in spanish and their conjugations. just in present tense for now and then i will learn#past and future and any other cases or tenses i may need#and i did buy a dedicated language journal (which i’m really enjoying using. it has habit trackers; lots of space for notetaking and doing#textbook exercises; sections for vocab lists and to write out/give examples of grammar rules; journal prompts for writing#in your target language etc) but it only has 48 verb conjugation tables#i have already encountered 77 different verbs in some form or another and recorded their infinitives so that i can table them#even if i’m just focusing on the present tense right now i do not have enough space and i don’t want to clutter up the rest of my note pages#with just conjugation tables#so i needed a system and at first i was going to do a spreadsheet but then i was like realistically i will spend WAY too long on the layout#and i don’t think i’ll actually use it that much because google sheets is so fucking awkward on my phone#i’d have to pull my whole laptop out just to look at this spreadsheet. it won’t be fun. it’ll seem too much like hard work#so i thought okay. what do i actually want from a verb conjugation system. some form of organisation for sure. colour coding#the ability to move stuff around if i want to#so i’m just using my filofax and various pens#it’s a personal size filofax so i can fit two verbs per page plus a couple of sample sentences using the verbs#i am SO much more likely to grab this and use it; especially if i keep it with my main language journal#and i can always add new pages. or if i run out of space i can take out verbs i’m confident with now and replace with verbs i’m trying#to learn. (i’m starting with just the most essential verbs. since that’s the ones i’m usually finding anyway in A1 content)#i’m really happy with this idea tbh. i don’t know if i already said that#personal
4 notes · View notes