Professional Documents
Culture Documents
Giao Trinh BK Tech
Giao Trinh BK Tech
Giao Trinh BK Tech
C++
Programming
C Author: Thai Van Sang
Version: 1.0.2023
C/C++ Course (14 sessions)
G-02 G-05
02 Know and practice 05 Know and practice
basic C/C++ exercises advanced OOP exercises
G-03 G-06
03 Know and present 06 Introduce C/C++ language
about OOP concepts application in embedded
system
Assessment
Q&A
Research Testing
Judgment
Learn online
Pass/Fail
Unit Design Coding
Pratice
How to compile a C/C++ program
Lesson 1
How to write basic C/C++ program
Terminal:
sim.exe –Info class –Cmd 01
Lesson 1
Memory layout in C/C++
Const variable
C/C++ Variables - Function
HEAP
Allocate dynamic
STACK
Allocate static
C/C++ Variables - Array
C/C++ Variables - Array
C/C++ Variables – Pointer & Reference
0x11223344
0x000000AA
0x000000AA mVar
0x0000FFFC
0x0000FFFC mP1
0xF000F000
mP2
Address of variable Value of variable
C/C++ Variables – Pointer & Reference
01 Const Pointer
03 Reference pointer
C/C++ Variables – Pointer & Reference
C/C++ Variables – Pointer & Reference
0x0000FFFF
0xAAAA0000
8
ptr
0x0000FFFF
i,ref
C/C++ Variables – Pointer & Reference
Double Pointer
C/C++ Variables – Pointer & Reference
Reference Pointer
C/C++ Variables – Pointer & Reference
C/C++ Variables – User Defined
08 04
Function Polymorphism
overloading
07 06 05
Operator
Friend function Inheritance
overloading
Class / Object
Encapsulation / Abstraction
Polymorphism
Inheritance
Inheritance
Friend function
Operator overloading
Binary Arithmetic +, -, *, /, %
Function call ()
Subscript []
Register
APB bus AXI bus 4096
bytes
Memory Memory
RAM Register & Memory
Initial value : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
R/W : R R R R R R R R R R R/W R/W R/W R/W R/W R/W
Bit : 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
- - - - - - - - - - - INT - - - EN
Initial value : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
R/W : R R R R R R R R R R R R R R R R/W
Initial value : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
R/W : R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W
Bit : 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
SRC
Initial value : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
R/W : R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W
Initial value : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
R/W : R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W
Bit : 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
DST
Initial value : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
R/W : R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W
Check CR.EN == 1 ?
yes
no
Start operation
Dump message not CR.EN = 0
start operation
Received interrupt
FILE STRUCTURE
UT_Top
Register
Test Pattern
Bus
Ram Memory
Explanation :
Command Argument 1 Argument 2
[WRITE] Address register Write data