„UT.6.01” változatai közötti eltérés

Innen: apaboard
Ugrás a navigációhoz Ugrás a kereséshez
782. sor: 782. sor:
<html/>
<html/>
<br />
<br />
=== Variables (változók) ===
<html>
<table class="MsoNormalTable" style="margin-left: 17.5pt; border-collapse: collapse;" border="1">
<tbody>
<tr>
<td style="border-style: solid none; border-color: gray -moz-use-text-color; border-width: 1.5pt medium 1pt; padding: 0in 5.4pt; width: 100.85pt;">
<p class="MsoNormal"><span style="font-size: 10pt;">Data type</span></p>
</td>
<td style="border-style: solid none; border-color: gray -moz-use-text-color; border-width: 1.5pt medium 1pt; padding: 0in 5.4pt; width: 121.05pt;">
<p class="MsoNormal"><span style="font-size: 10pt;">Precision</span></p>
</td>
<td style="border-style: solid none; border-color: gray -moz-use-text-color; border-width: 1.5pt medium 1pt; padding: 0in 5.4pt; width: 146.65pt;">
<p class="MsoNormal"><span style="font-size: 10pt;">Range</span></p>
</td>
</tr>
<tr>
<td style="padding: 0in 5.4pt; width: 100.85pt;">
<p class="MsoNormal"><b><span style="font-size: 10pt; font-family: 'Courier New';">unsigned char</span></b></p>
</td>
<td style="padding: 0in 5.4pt; width: 121.05pt;">
<p class="MsoNormal"><span style="font-size: 10pt;">8-bit unsigned </span></p>
</td>
<td style="padding: 0in 5.4pt; width: 146.65pt;">
<p class="MsoNormal"><span style="font-size: 10pt;">0 to +255 </span></p>
</td>
</tr>
<tr>
<td style="padding: 0in 5.4pt; width: 100.85pt;">
<p class="MsoNormal"><b><span style="font-size: 10pt; font-family: 'Courier New';">signed char</span></b></p>
</td>
<td style="padding: 0in 5.4pt; width: 121.05pt;">
<p class="MsoNormal"><span style="font-size: 10pt;">8-bit signed </span></p>
</td>
<td style="padding: 0in 5.4pt; width: 146.65pt;">
<p class="MsoNormal"><span style="font-size: 10pt;">-128 to +127 </span></p>
</td>
</tr>
<tr>
<td style="padding: 0in 5.4pt; width: 100.85pt;">
<p class="MsoNormal"><b><span style="font-size: 10pt; font-family: 'Courier New';">unsigned int</span></b></p>
</td>
<td style="padding: 0in 5.4pt; width: 121.05pt;">
<p class="MsoNormal"><span style="font-size: 10pt;">compiler-dependent </span></p>
</td>
<td style="padding: 0in 5.4pt; width: 146.65pt;">
<p class="MsoNormal"><span style="font-size: 10pt;">&nbsp;</span></p>
</td>
</tr>
<tr>
<td style="padding: 0in 5.4pt; width: 100.85pt;">
<p class="MsoNormal"><b><span style="font-size: 10pt; font-family: 'Courier New';">int </span></b></p>
</td>
<td style="padding: 0in 5.4pt; width: 121.05pt;">
<p class="MsoNormal"><span style="font-size: 10pt;">compiler-dependent</span></p>
</td>
<td style="padding: 0in 5.4pt; width: 146.65pt;">
<p class="MsoNormal"><span style="font-size: 10pt;">&nbsp;</span></p>
</td>
</tr>
<tr>
<td style="padding: 0in 5.4pt; width: 100.85pt;">
<p class="MsoNormal"><b><span style="font-size: 10pt; font-family: 'Courier New';">unsigned short</span></b></p>
</td>
<td style="padding: 0in 5.4pt; width: 121.05pt;">
<p class="MsoNormal"><span style="font-size: 10pt;">16-bit unsigned </span></p>
</td>
<td style="padding: 0in 5.4pt; width: 146.65pt;">
<p class="MsoNormal"><span style="font-size: 10pt;">0 to +65535 </span></p>
</td>
</tr>
<tr>
<td style="padding: 0in 5.4pt; width: 100.85pt;">
<p class="MsoNormal"><b><span style="font-size: 10pt; font-family: 'Courier New';">short </span></b></p>
</td>
<td style="padding: 0in 5.4pt; width: 121.05pt;">
<p class="MsoNormal"><span style="font-size: 10pt;">16-bit signed </span></p>
</td>
<td style="padding: 0in 5.4pt; width: 146.65pt;">
<p class="MsoNormal"><span style="font-size: 10pt;">-32768 to +32767 </span></p>
</td>
</tr>
<tr>
<td style="padding: 0in 5.4pt; width: 100.85pt;">
<p class="MsoNormal"><b><span style="font-size: 10pt; font-family: 'Courier New';">unsigned long </span></b></p>
</td>
<td style="padding: 0in 5.4pt; width: 121.05pt;">
<p class="MsoNormal"><span style="font-size: 10pt;">unsigned 32-bit </span></p>
</td>
<td style="padding: 0in 5.4pt; width: 146.65pt;">
<p class="MsoNormal"><span style="font-size: 10pt;">0 to 4294967295L </span></p>
</td>
</tr>
<tr>
<td style="padding: 0in 5.4pt; width: 100.85pt;">
<p class="MsoNormal"><b><span style="font-size: 10pt; font-family: 'Courier New';">long </span></b></p>
</td>
<td style="padding: 0in 5.4pt; width: 121.05pt;">
<p class="MsoNormal"><span style="font-size: 10pt;">signed 32-bit </span></p>
</td>
<td style="padding: 0in 5.4pt; width: 146.65pt;">
<p class="MsoNormal"><span style="font-size: 10pt;">-2147483648L to 2147483647L </span></p>
</td>
</tr>
<tr>
<td style="padding: 0in 5.4pt; width: 100.85pt;">
<p class="MsoNormal"><b><span style="font-size: 10pt; font-family: 'Courier New';">float </span></b></p>
</td>
<td style="padding: 0in 5.4pt; width: 121.05pt;">
<p class="MsoNormal"><span style="font-size: 10pt;">32-bit float</span></p>
</td>
<td style="padding: 0in 5.4pt; width: 146.65pt;">
<p class="MsoNormal"><span style="font-size: 10pt;">±10<span style="position: relative; top: -3pt;">-38</span>&nbsp;to ±10<span style="position: relative; top: -3pt;">+38</span>&nbsp;</span></p>
</td>
</tr>
<tr>
<td style="border-style: none none solid; border-color: -moz-use-text-color -moz-use-text-color gray; border-width: medium medium 1.5pt; padding: 0in 5.4pt; width: 100.85pt;">
<p class="MsoNormal"><b><span style="font-size: 10pt; font-family: 'Courier New';">double </span></b></p>
</td>
<td style="border-style: none none solid; border-color: -moz-use-text-color -moz-use-text-color gray; border-width: medium medium 1.5pt; padding: 0in 5.4pt; width: 121.05pt;">
<p class="MsoNormal"><span style="font-size: 10pt;">64-bit float </span></p>
</td>
<td style="border-style: none none solid; border-color: -moz-use-text-color -moz-use-text-color gray; border-width: medium medium 1.5pt; padding: 0in 5.4pt; width: 146.65pt;">
<p class="MsoNormal"><span style="font-size: 10pt;">±10<span style="position: relative; top: -3pt;">-308</span>&nbsp;to ±10<span style="position: relative; top: -3pt;">+308</span></span></p>
</td>
</tr>
</tbody>
</table>
<html/>

A lap 2014. január 26., 10:01-kori változata

C1 Bevezetés

Folyamatosan gyűjtöm az anyagokat és fordítom, ahogy lehet

C2 Alap fogalmak

Bináris számok és rendszerek

Hexadecimális számok

Hex Digit

Decimal  Value

Binary Value

0

0

0000

1

1

0001

2

2

0010

3

3

0011

4

4

0100

5

5

0101

6

6

0110

7

7

0111

8

8

1000

9

9

1001

A or a

10

1010

B or b

11

1011

C or c

12

1100

D or d

13

1101

E or e

14

1110

F or f

15

1111

Beágyazott rendszerek

Processzor típusok: x86 (ált. asztali gép), ARM.
"Az I/O az a ragasztó, amivel a processzor kapcsolódik a világhoz."
Tervezési szempontok: tesztelhetőség, haszon, energia igény, méret, megfelelő válasz megfelelő időben.
Human-computer interface (HCI) or man-machine interface (MMI).
Tipikus példa: multiméter.


Bevezetés a számítógépekhez

Neumann architecture

Számítógép = proceszor + RAM + ROM + IO.
Neumann architecture, "A port is a physical connection between the computer and its outside world. Ports allow information to enter and exit the system."
"A bus is a collection of wires used to pass information between modules."

A busz vezetékek gyűjteménye, amit a modulok közti információ cserére használunk.

Harvard architecture

ARM®Cortex™-M processor. "separate data and instruction buses"

Külön adat, és utasítás buszok.

"The nested vectored interrupt controller (NVIC) manages interrupts, which are hardware-triggered software functions. " A beágyazott irányítható megszakítás-vezérlő - NVIC


Fogalmak

A microprocessor is a small processor.

A microcomputer is a small computer that includes a processor, memory and I/O devices.

A microcontroller is a single chip computer.



IO portok

CPU regiszterek

ISA Instruction set architecture

MEMORY MAP LAYOUT

RAM (random access memory)

ROM (read only memory)
ROM-ok:

Static RAM (SRAM)
Programmable ROM (PROM) 10000 times slower RAM
Electrically erasable programmable ROM (EEPROM)

"In regular EEPROM, you can erase and program individual bytes. "

FLASH ROM

"Flash ROM is a popular type of EEPROM. Each flash bit requires only two MOSFET transistors. The input (gate) of one transistor is electrically isolated, so if we trap charge on this input, it will remain there for years."

"Each flash bit requires only two MOSFET transistors The input (gate) of one transistor is electrically isolated, so if we trap charge on this input, it will remain there for years. The other transistor is used to read the bit by sensing whether or not the other transistor has trapped charge."

"Flash ROM must be erased in large blocks. On many of Stellaris family of microcontrollers, we can erase the entire ROM or just a 1024-byte block."


"Because flash is smaller than regular EEPROM, most microcontrollers have a large flash into which we store the software. For all the systems in this class, we will store instructions and constants in flash ROM and place variables and temporary data in static RAM."

"Flash ROM is higher density because it requires few transistors compared to RAM."

Software

CortexM_InstructionSet.pdf Instruction Set Reference Manual https://courses.edx.org/c4x/UTAustinX/UT.6.01x/asset/CortexM_InstructionSet.pdf

CortexM4_TRM_r0p1.pdf Cortex-M4 Technical Reference Manual https://courses.edx.org/c4x/UTAustinX/UT.6.01x/asset/CortexM_InstructionSet.pdf

LaunchPadUsersManual.pdf LaunchPad Manual

tm4c123gh6pm.pdf Data Sheet for the TM4C123 microcontroller

C3 Elektronikai alapismeretek

Ohm törvény

R = V / I

I = V / R
R = V / I
P = V * I   Power = Voltage  * Current
P = V2 / R  Power = Voltage2 / Resistance           

P = I2 * R  Power = Current2 * Resistance

Energia

Elemekre:

E (energia)= V (feszültség) * I (áramerősség) * time (idő)

E-> állandó ; V -> állandó, az idő vagy az I csökkentésével csökkenthetjük a felhasznált energiát.

C4 Digitális logikai műveletek

D Logikai műveletek

A

B

AND

NAND

OR

NOR

EOR

Ex NOR

0

0

0

1

0

1

0

1

0

1

0

1

1

0

1

0

1

0

0

1

1

0

1

0

1

1

1

0

1

0

0

1

Symbol

A&B

~(A&B)

A|B

~(A|B)

A^B

~(A^B)

Boolean Algebra

A & B = B & A
A | B = B | A
(A & B) & C = A & (B & C)
(A | B) | C = A | (B | C)
(A | B) & C = (A & C) | (B & C)
(A & B) | C = (A | C) & (B | C)
A & 0 = 0
A | 0 = A
A & 1 = A
A | 1 = 1
A | A = A
A | (~A) = 1
A & A = A
A & (~A) = 0
~(~A) = A
~(A | B) = (~A) & (~B)
~(A & B) = (~A) | (~B)

Commutative Law
Commutative Law
Associative Law
Associative Law
Distributive Law
Distributive Law
Identity of 0
Identity of 0
Identity of 1
Identity of 1
Property of OR
Property of OR
Property of AND
Property of AND
Inverse
De Morgan’s Theorem
De Morgan’s Theorem

Large numbers reference

Value

SI          Decimal

SI          Decimal

 

Value

IEC          Binary

IEC          Binary

10001

k

kilo-

 

10241

Ki

kibi-

10002

M

mega-

 

10242

Mi

mebi-

10003

G

giga-

 

10243

Gi

gibi-

10004

T

tera-

 

10244

Ti

tebi-

10005

P

peta-

 

10245

Pi

pebi-

10006

E

exa-

 

10246

Ei

exbi-

10007

Z

zetta-

 

10247

Zi

zebi-

10008

Y

yotta-

 

10248

Yi

yobi-


C4 Beveztés a C-be

Háttér

A C nagyon népszerű nyelv (2013-ban a programok 18%), több programot írnak C-ben mint Javaban, PHP-ben, Python-ban vagy Perl-ben.
Szintén nagyon népszerű még Objective-C és a C++ is.

A C nagyon vas közeli, a beágyazott rendszerek pedig az I/O-kra (GPIO-kra) épülnek.

A C felépítése

<html>

<tbody> </tbody>

Punctuation

Meaning

;

End of statement

:

Defines a label

,

Separates elements of a list

( )

Start and end of a parameter list

{ }

Start and stop of a compound statement

[ ]

Start and stop of a array index

" "

Start and stop of a string

' '

Start and stop of a character constant