FAB LAB Khairpur Sukkur IBA Sukkur IBA University
Merit, Quality, Excellence

WEEK-9

Embedded Programming

Lecture & Recitaton of a Week:

Lecture on 14th of March, 2018: Embedded Programming by Neil Gershenfeld

Recitation on 19th of March, 2018: safety and security by Patrick Colgan and Joel Gershenfeld

Tasks for a Week

Individual Assignments

What is Datasheet

From Wikipedia: datasheet, data sheet, or spec sheet is a document that summarizes the performance and other technical characteristics of a product, machine, component (e.g., an electronic component), material, a subsystem (e.g., a power supply) or software in sufficient detail to be used by a design engineer to integrate the component into a system. Typically, a datasheet is created by the component/subsystem/software manufacturer and begins with an introductory page describing the rest of the document, followed by listings of specific characteristics, with further information on the connectivity of the devices. In cases where there is relevant source code to include, it is usually attached near the end of the document or separated into another file.

Reading Datasheet

Below I am sharing relevant information about ATtiny44 because I used that IC in my board and I am going to program it in this week.

Features

First page of every datasheet is based on key features, it is like a review page which describes either a device is useful for specific work or not. I am sharing some of the features below

Pin Configurations

This section have an information about pins of different packages. I used SOIC package in my board, here is the picture of pin configuration of SOIC package:

Pin COnfiguration of SOIC Package

ATtiny44 Pin Configuration

Block Diagram of Internal Structure

The block diagram mentioned in "Overview" section defines the internal structure of IC, it shows how 8 bit Databus is connected with different parts of IC. This can help to understand the IC system and make it easy for programmer to pass set of instructions.

Pin COnfiguration of SOIC Package

Block Diagram of IC internal structure

A microcontroller is a vast thing with lots of feature in it. A person can read and understand only those parts of datasheet which is helpful in specific work/project. There are lots of sections in datasheets which I like to learn but they can be understand easily when we have to use it with some kind of application. I have little knowledge of timer/counter section and want to learn more about it. These are some very basic and important information I shared. If someone want to read all about ATTiny44 then click here to download datasheet

Programming hello world board

I didn't practice my programming skills frequently after passing Bachelors, so in start it is difficult for me to work on that but I hope I get grip on programming skills sooner. For this week and for again start in programming I decide to work on Arduino IDE and ATMEL studio to program the hello world board which I made in week-7 Electronics Design. I burn the bootloader in my board on week-7 (as extra work) using my colleague laptop but in this week when I start to work on my laptop I experienced many problems because of mismatching of versions of avrdude. I am using my fabISP to upload the code in my board, I made fabISP in Week-5 Electronic Production.

Using Arduino IDE

There are lots of problem I face in this week and most of the problems only occur in my laptop. I found reasons, try to overcome them and because of too much time I spent in debugging this week I able to document this week in my week-14. Below I mentioned steps to work in arduino IDE along with the problems which I face while working.

Using Atmel Studio

ATMEL Studio opening

My second choice to do programming is Atmel Studio. This time I wrote code in C language, here is the procedure:


"Click here"to download all files of this week

Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License
.