Skip to content

mytechnotalent/Reverse-Engineering

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

938 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

A FREE comprehensive reverse engineering tutorial covering x86, x64, 32-bit/64-bit ARM, 8-bit AVR and 32-bit RISC-V architectures.

FREE EMBEDDED HACKING COURSE PROMO HERE


Join DC540 Discord HERE


Today's Tutorial [March 16, 2026]

Lesson 131: x64 Course (Part 11 - Pointers)

This tutorial will discuss pointers.

-> Click HERE to read the FREE ebook.


Book

Reverse Engineering E-BOOK HERE

Reverse Engineering PDF HERE

Assembled by @0xInfection (Twitter)


Network

Turbo Scanner HERE

Turbo Attack HERE


Windows Hacking

Hacking Windows HERE

Windows Process Lifecycle HERE

Windows Kernel Debugging HERE


CTF's

DC540 Hacking Challenge 0x00001 HERE

DC540 Hacking Challenge 0x00002 [MicroPython CTF] HERE

DC540 Hacking Challenge 0x00003 [C CTF] HERE

DC540 Hacking Challenge 0x00004 [C CTF] HERE

DC540 Hacking Challenge 0x00005a HERE

DC540 Hacking Challenge 0x00005b [Assembler CTF] HERE

DC540 Hacking Challenge 0x00006 [UNKNOWN CTF] HERE

DC540 Hacking Challenge 0x00007 [UNKNOWN CTF] HERE

DC540 Hacking Challenge 0x00008 [UNKNOWN CTF] HERE

DC540 Hacking Challenge 0x00009 [Windows CTF] HERE


STEM

Python For Kids HERE

Python Zero To Hero HERE


x86 Course

Lesson 1: x86 Course (Part 1: Goals)

This tutorial will begin with the basic concepts of malware reverse engineering and graduate to an entry-level basic examination of Assembly Language.

-> Click HERE to read the FREE ebook.

Lesson 2: x86 Course (Part 2: Techniques)

This tutorial will address the two basic techniques that you can employ when analyzing malware. The first being static analysis and the other being dynamic analysis.

-> Click HERE to read the FREE ebook.

Lesson 3: x86 Course (Part 3: Types Of Malware)

This tutorial will address the basic forms of malware and how they work in simple terms.

-> Click HERE to read the FREE ebook.

Lesson 4: x86 Course (Part 4: x86 Assembly Intro)

This tutorial will address x86 Assembly Languages and their usage to produce object code for the aforementioned series of processors.

-> Click HERE to read the FREE ebook.

Lesson 5: x86 Course (Part 5: Binary Number System)

This tutorial will address the very basics of the binary number system.

-> Click HERE to read the FREE ebook.

Lesson 6: x86 Course (Part 6: Hexadecimal Number System)

This tutorial will address the very basics of the hexadecimal number system.

-> Click HERE to read the FREE ebook.

Lesson 7: x86 Course (Part 7: Transistors And Memory)

This tutorial will address the basics of transistors and memory.

-> Click HERE to read the FREE ebook.

Lesson 8: x86 Course (Part 8 - Bytes, Words, Double Words, etc...)

This tutorial will address the basics of memory and examine our first GDB debugger instance and examine our first real look into our computers memory and instructions.

-> Click HERE to read the FREE ebook.

Lesson 9: x86 Course (Part 9: x86 Basic Architecture)

This tutorial will address the basic architecture of an x86 processor.

-> Click HERE to read the FREE ebook.

Lesson 10: x86 Course (Part 10: General-purpose Registers)

This tutorial will address the general purpose x86 registers.

-> Click HERE to read the FREE ebook.

Lesson 11: x86 Course (Part 11: Segment Registers)

This tutorial will address the x86 segment registers.

-> Click HERE to read the FREE ebook.

Lesson 12: x86 Course (Part 12: Instruction Pointer Register)

This tutorial will address the x86 instruction pointer register.

-> Click HERE to read the FREE ebook.

Lesson 13: x86 Course (Part 13: Control Registers)

This tutorial will address the x86 control registers.

-> Click HERE to read the FREE ebook.

Lesson 14: x86 Course (Part 14: Flags)

This tutorial will address the status, control and systems flags.

-> Click HERE to read the FREE ebook.

Lesson 15: x86 Course (Part 15: Stack)

This tutorial will address the stack.

-> Click HERE to read the FREE ebook.

Lesson 16: x86 Course (Part 16: Heap)

This tutorial will address the heap.

-> Click HERE to read the FREE ebook.

Lesson 17: x86 Course (Part 17 – How To Install Linux)

This tutorial will address how to install Ubuntu Linux on both Windows and MAC.

-> Click HERE to read the FREE ebook.

Lesson 18: x86 Course (Part 18 - vim Text Editor)

This tutorial will address how to install the vim text editor.

-> Click HERE to read the FREE ebook.

Lesson 19: x86 Course (Part 19 - Why Learn Assembly)

This tutorial will address the age old question of why to bother understanding the basics of Assembly Language.

-> Click HERE to read the FREE ebook.

Lesson 20: x86 Course (Part 20 - Instruction Code Handling)

This tutorial will address op codes and instruction code handling.

-> Click HERE to read the FREE ebook.

Lesson 21: x86 Course (Part 21 - How To Compile A Program)

This tutorial will address how to compile a basic x86 Assembly Program.

-> Click HERE to read the FREE ebook.

Lesson 22: x86 Course (Part 22 - ASM Program 1 [Moving Immediate Data])

This tutorial will address how to create our first real Assembly Program by moving immediate data.

-> Click HERE to read the FREE ebook.

Lesson 23: x86 Course (Part 23 - ASM Debugging 1 [Moving Immediate Data])

This tutorial will address how to debug our first real Assembly Program by moving immediate data.

-> Click HERE to read the FREE ebook.

Lesson 24: x86 Course (Part 24 - ASM Hacking 1 [Moving Immediate Data])

This tutorial will address how to hack our first real Assembly Program by moving immediate data.

-> Click HERE to read the FREE ebook.

Lesson 25: x86 Course (Part 25 - ASM Program 2 [Moving Data Between Registers])

This tutorial will address how to create our second real Assembly Program by moving between registers.

-> Click HERE to read the FREE ebook.

Lesson 26: x86 Course (Part 26 - ASM Debugging 2 [Moving Data Between Registers])

This tutorial will address how to debug our second real Assembly Program by moving between registers.

-> Click HERE to read the FREE ebook.

Lesson 27: x86 Course (Part 27 - ASM Hacking 2 [Moving Data Between Registers])

This tutorial will address how to hack our second real Assembly Program by moving between registers.

-> Click HERE to read the FREE ebook.

Lesson 28: x86 Course (Part 28 - ASM Program 3 [Moving Data Between Memory And Registers])

This tutorial will address how to create our third real Assembly Program by moving between memory and registers.

-> Click HERE to read the FREE ebook.

Lesson 29: x86 Course (Part 29 - ASM Debugging 3 [Moving Data Between Memory And Registers])

This tutorial will address how to debug our third real Assembly Program by moving between memory and registers.

-> Click HERE to read the FREE ebook.

Lesson 30: x86 Course (Part 30 - ASM Hacking 3 [Moving Data Between Memory And Registers])

This tutorial will address how to hack our third real Assembly Program by moving between memory and registers.

-> Click HERE to read the FREE ebook.

Lesson 31: x86 Course (Part 31 - ASM Program 4 [Moving Data Between Registers And Memory])

This tutorial will address how to create our fourth real Assembly Program by moving between registers and memory.

-> Click HERE to read the FREE ebook.

Lesson 32: x86 Course (Part 32 - ASM Debugging 4 [Moving Data Between Registers And Memory])

This tutorial will address how to debug our fourth real Assembly Program by moving between registers and memory.

-> Click HERE to read the FREE ebook.

Lesson 33: x86 Course (Part 33 - ASM Hacking 4 [Moving Data Between Registers And Memory])

This tutorial will address how to hack our fourth real Assembly Program by moving between registers and memory.

-> Click HERE to read the FREE ebook.

Lesson 34: x86 Course (Part 34 - ASM Program 5 [Indirect Addressing With Registers])

This tutorial will address how to create our fifth real Assembly Program by indirect addressing with registers.

-> Click HERE to read the FREE ebook.

Lesson 35: x86 Course (Part 35 - ASM Debugging 5 [Indirect Addressing With Registers])

This tutorial will address how to debug our fifth real Assembly Program by indirect addressing with registers.

-> Click HERE to read the FREE ebook.

Lesson 36: x86 Course (Part 36 - ASM Hacking 5 [Indirect Addressing With Registers])

This tutorial will address how to hack our fifth real Assembly Program by indirect addressing with registers.

-> Click HERE to read the FREE ebook.

Lesson 37: x86 Course (Part 37 - ASM Program 6 [CMOV Instructions])

This tutorial will address how to hack our sixth real Assembly Program with CMOV instructions.

-> Click HERE to read the FREE ebook.

Lesson 38: x86 Course (Part 38 - ASM Debugging 6 [CMOV Instructions])

This tutorial will address how to debug our sixth real Assembly Program with CMOV instructions.

-> Click HERE to read the FREE ebook.

Lesson 39: x86 Course (Part 39 - ASM Hacking 6 [CMOV Instructions])

This tutorial will address how to hack our sixth real Assembly Program with CMOV instructions.

-> Click HERE to read the FREE ebook.

Lesson 40: x86 Course (Part 40 - Conclusion)

This tutorial will conclude this x86 tutorial.

-> Click HERE to read the FREE ebook.


ARM-32 Course 1

Lesson 41: ARM-32 Course 1 (Part 1 – The Meaning Of Life)

This tutorial will introduce our ARM-32 Course 1 tutorial series.

-> Click HERE to read the FREE ebook.

Lesson 42: ARM-32 Course 1 (Part 2 - Number Systems)

This tutorial will discuss number systems such as binary, decimal and hexadecimal in detail.

-> Click HERE to read the FREE ebook.

Lesson 43: ARM-32 Course 1 (Part 3 - Binary Addition)

This tutorial will discuss binary addition.

-> Click HERE to read the FREE ebook.

Lesson 44: ARM-32 Course 1 (Part 4 - Binary Subtraction)

This tutorial will discuss binary subtraction.

-> Click HERE to read the FREE ebook.

Lesson 45: ARM-32 Course 1 (Part 5 - Word Lengths)

This tutorial will discuss word lengths.

-> Click HERE to read the FREE ebook.

Lesson 46: ARM-32 Course 1 (Part 6 - Registers)

This tutorial will discuss registers.

-> Click HERE to read the FREE ebook.

Lesson 47: ARM-32 Course 1 (Part 7 - Program Counter)

This tutorial will discuss the program counter.

-> Click HERE to read the FREE ebook.

Lesson 48: ARM-32 Course 1 (Part 8 - CPSR)

This tutorial will discuss the CPSR.

-> Click HERE to read the FREE ebook.

Lesson 49: ARM-32 Course 1 (Part 9 - Link Register)

This tutorial will discuss the Link Register.

-> Click HERE to read the FREE ebook.

Lesson 50: ARM-32 Course 1 (Part 10 - Stack Pointer)

This tutorial will discuss the Stack Pointer.

-> Click HERE to read the FREE ebook.

Lesson 51: ARM-32 Course 1 (Part 11 - ARM Firmware Boot Procedures)

This tutorial will discuss ARM Firmware Boot Procedures.

-> Click HERE to read the FREE ebook.

Lesson 52: ARM-32 Course 1 (Part 12 - Von Neumann Architecture)

This tutorial will discuss Von Neumann Architecture.

-> Click HERE to read the FREE ebook.

Lesson 53: ARM-32 Course 1 (Part 13 - Instruction Pipeline)

This tutorial will discuss the instruction pipeline.

-> Click HERE to read the FREE ebook.

Lesson 54: ARM-32 Course 1 (Part 14 - ADD)

This tutorial will discuss the add instruction.

-> Click HERE to read the FREE ebook.

Lesson 55: ARM-32 Course 1 (Part 15 - Debugging ADD)

This tutorial will discuss debugging the add instruction.

-> Click HERE to read the FREE ebook.

Lesson 56: ARM-32 Course 1 (Part 16 - Hacking ADD)

This tutorial will discuss hacking the add instruction.

-> Click HERE to read the FREE ebook.

Lesson 57: ARM-32 Course 1 (Part 17 - ADDS)

This tutorial will discuss the adds instruction.

-> Click HERE to read the FREE ebook.

Lesson 58: ARM-32 Course 1 (Part 18 – Debugging ADDS)

This tutorial will discuss debugging the adds instruction.

-> Click HERE to read the FREE ebook.

Lesson 59: ARM-32 Course 1 (Part 19 – Hacking ADDS)

This tutorial will discuss hacking the adds instruction.

-> Click HERE to read the FREE ebook.

Lesson 60: ARM-32 Course 1 (Part 20 – ADC)

This tutorial will discuss the ADC instruction.

-> Click HERE to read the FREE ebook.

Lesson 61: ARM-32 Course 1 (Part 21 – Debugging ADC)

This tutorial will discuss debugging the ADC instruction.

-> Click HERE to read the FREE ebook.

Lesson 62: ARM-32 Course 1 (Part 22 – Hacking ADC)

This tutorial will discuss hacking the ADC instruction.

-> Click HERE to read the FREE ebook.

Lesson 63: ARM-32 Course 1 (Part 23 – SUB)

This tutorial will discuss the SUB instruction.

-> Click HERE to read the FREE ebook.

Lesson 64: ARM-32 Course 1 (Part 24 – Debugging SUB)

This tutorial will discuss debugging the SUB instruction.

-> Click HERE to read the FREE ebook.

Lesson 65: ARM-32 Course 1 (Part 25 – Hacking SUB)

This tutorial will discuss hacking the SUB instruction.

-> Click HERE to read the FREE ebook.


ARM-32 Course 2

Lesson 66: ARM-32 Course 2 (Part 1 – The Meaning Of Life Part 2)

This tutorial will introduce our ARM-32 Course 2 course.

-> Click HERE to read the FREE ebook.

Lesson 67: ARM-32 Course 2 (Part 2 – Number Systems)

This tutorial will discuss number systems.

-> Click HERE to read the FREE ebook.

Lesson 68: ARM-32 Course 2 (Part 3 – Binary Addition)

This tutorial will discuss binary addition.

-> Click HERE to read the FREE ebook.

Lesson 69: ARM-32 Course 2 (Part 4 – Binary Subtraction)

This tutorial will discuss binary subtraction.

-> Click HERE to read the FREE ebook.

Lesson 70: ARM-32 Course 2 (Part 5 – Word Lengths)

This tutorial will discuss word lengths.

-> Click HERE to read the FREE ebook.

Lesson 71: ARM-32 Course 2 (Part 6 – Registers)

This tutorial will discuss registers.

-> Click HERE to read the FREE ebook.

Lesson 72: ARM-32 Course 2 (Part 7 – Program Counter)

This tutorial will discuss program counter.

-> Click HERE to read the FREE ebook.

Lesson 73: ARM-32 Course 2 (Part 8 - CPSR)

This tutorial will discuss the CPSR.

-> Click HERE to read the FREE ebook.

Lesson 74: ARM-32 Course 2 (Part 9 - Link Register)

This tutorial will discuss the link register.

-> Click HERE to read the FREE ebook.

Lesson 75: ARM-32 Course 2 (Part 10 - Stack Pointer)

This tutorial will discuss the stack pointer.

-> Click HERE to read the FREE ebook.

Lesson 76: ARM-32 Course 2 (Part 11 - Firmware Boot Procedures)

This tutorial will discuss the firmware boot procedures.

-> Click HERE to read the FREE ebook.

Lesson 77: ARM-32 Course 2 (Part 12 - Von Neumann Architecture)

This tutorial will discuss the Von Neumann Architecture.

-> Click HERE to read the FREE ebook.

Lesson 78: ARM-32 Course 2 (Part 13 - Instruction Pipeline)

This tutorial will discuss the instruction pipeline.

-> Click HERE to read the FREE ebook.

Lesson 79: ARM-32 Course 2 (Part 14 - Hello World)

This tutorial will discuss the basics of a hello world program in ARM 32-bit.

-> Click HERE to read the FREE ebook.

Lesson 80: ARM-32 Course 2 (Part 15 - Debugging Hello World)

This tutorial will discuss debugging hello world.

-> Click HERE to read the FREE ebook.

Lesson 81: ARM-32 Course 2 (Part 16 - Hacking Hello World)

This tutorial will discuss hacking hello world.

-> Click HERE to read the FREE ebook.

Lesson 82: ARM-32 Course 2 (Part 17 - Constants)

This tutorial will discuss constants.

-> Click HERE to read the FREE ebook.

Lesson 83: ARM-32 Course 2 (Part 18 – Debugging Constants)

This tutorial will discuss debugging constants.

-> Click HERE to read the FREE ebook.

Lesson 84: ARM-32 Course 2 (Part 19 – Hacking Constants)

This tutorial will discuss hacking constants.

-> Click HERE to read the FREE ebook.

Lesson 85: ARM-32 Course 2 (Part 20 – Character Variables)

This tutorial will discuss character variables.

-> Click HERE to read the FREE ebook.

Lesson 86: ARM-32 Course 2 (Part 21 – Debugging Character Variables)

This tutorial will discuss debugging character variables.

-> Click HERE to read the FREE ebook.

Lesson 87: ARM-32 Course 2 (Part 22 – Hacking Character Variables)

This tutorial will discuss hacking character variables.

-> Click HERE to read the FREE ebook.

Lesson 88: ARM-32 Course 2 (Part 23 – Boolean Variables)

This tutorial will discuss boolean variables.

-> Click HERE to read the FREE ebook.

Lesson 89: ARM-32 Course 2 (Part 24 – Debugging Boolean Variables)

This tutorial will discuss debugging boolean variables.

-> Click HERE to read the FREE ebook.

Lesson 90: ARM-32 Course 2 (Part 25 – Hacking Boolean Variables)

This tutorial will discuss hacking boolean variables.

-> Click HERE to read the FREE ebook.

Lesson 91: ARM-32 Course 2 (Part 26 – Integer Variables)

This tutorial will discuss integer variables.

-> Click HERE to read the FREE ebook.

Lesson 92: ARM-32 Course 2 (Part 27 – Debugging Integer Variables)

This tutorial will discuss debugging integer variables.

-> Click HERE to read the FREE ebook.

Lesson 93: ARM-32 Course 2 (Part 28 – Hacking Integer Variables)

This tutorial will discuss hacking integer variables.

-> Click HERE to read the FREE ebook.

Lesson 94: ARM-32 Course 2 (Part 29 – Float Variables)

This tutorial will discuss float variables.

-> Click HERE to read the FREE ebook.

Lesson 95: ARM-32 Course 2 (Part 30 – Debugging Float Variables)

This tutorial will discuss debugging float variables.

-> Click HERE to read the FREE ebook.

Lesson 96: ARM-32 Course 2 (Part 31 – Hacking Float Variables)

This tutorial will discuss hacking float variables.

-> Click HERE to read the FREE ebook.

Lesson 97: ARM-32 Course 2 (Part 32 – Double Variables)

This tutorial will discuss double variables.

-> Click HERE to read the FREE ebook.

Lesson 98: ARM-32 Course 2 (Part 33 – Debugging Double Variables)

This tutorial will discuss debugging double variables.

-> Click HERE to read the FREE ebook.

Lesson 99: ARM-32 Course 2 (Part 34 – Hacking Double Variables)

This tutorial will discuss hacking double variables.

-> Click HERE to read the FREE ebook.

Lesson 100: ARM-32 Course 2 (Part 35 – SizeOf Operator)

This tutorial will discuss the sizeof operator.

-> Click HERE to read the FREE ebook.

Lesson 101: ARM-32 Course 2 (Part 36 – Debugging SizeOf Operator)

This tutorial will discuss debugging sizeof operator.

-> Click HERE to read the FREE ebook.

Lesson 102: ARM-32 Course 2 (Part 37 – Hacking SizeOf Operator)

This tutorial will discuss hacking sizeof operator.

-> Click HERE to read the FREE ebook.

Lesson 103: ARM-32 Course 2 (Part 38 – Pre-Increment Operator)

This tutorial will discuss the pre-increment operator.

-> Click HERE to read the FREE ebook.

Lesson 104: ARM-32 Course 2 (Part 39 – Debugging Pre-Increment Operator)

This tutorial will discuss debugging pre-increment operator.

-> Click HERE to read the FREE ebook.

Lesson 105: ARM-32 Course 2 (Part 40 – Hacking Pre-Increment Operator)

This tutorial will discuss hacking pre-increment operator.

-> Click HERE to read the FREE ebook.

Lesson 106: ARM-32 Course 2 (Part 41 – Post-Increment Operator)

This tutorial will discuss the post-increment operator.

-> Click HERE to read the FREE ebook.

Lesson 107: ARM-32 Course 2 (Part 42 – Debugging Post-Increment Operator)

This tutorial will discuss debugging post-increment operator.

-> Click HERE to read the FREE ebook.

Lesson 108: ARM-32 Course 2 (Part 43 – Hacking Post-Increment Operator)

This tutorial will discuss hacking post-increment operator.

-> Click HERE to read the FREE ebook.

Lesson 109: ARM-32 Course 2 (Part 44 – Pre-Decrement Operator)

This tutorial will discuss the pre-decrement operator.

-> Click HERE to read the FREE ebook.

Lesson 110: ARM-32 Course 2 (Part 45 – Debugging Pre-Decrement Operator)

This tutorial will discuss debugging pre-decrement operator.

-> Click HERE to read the FREE ebook.

Lesson 111: ARM-32 Course 2 (Part 46 – Hacking Pre-Decrement Operator)

This tutorial will discuss hacking pre-decrement operator.

-> Click HERE to read the FREE ebook.

Lesson 112: ARM-32 Course 2 (Part 47 – Post-Decrement Operator)

This tutorial will discuss post-decrement operator.

-> Click HERE to read the FREE ebook.

Lesson 113: ARM-32 Course 2 (Part 48 – Debugging Post-Decrement Operator)

This tutorial will discuss debugging post-decrement operator.

-> Click HERE to read the FREE ebook.

Lesson 114: ARM-32 Course 2 (Part 49 – Hacking Post-Decrement Operator)

This tutorial will discuss hacking post-decrement operator.

-> Click HERE to read the FREE ebook.


ARM-32 Project Course

Lesson 115: ARM-32 Project (Part 1 – Hacking Hello World)

ARM 32-bit Raspberry Pi Hacking Hello World example in Kali Linux.

-> Click HERE to read the project on GitHub.

Lesson 116: ARM-32 Project (Part 2 – Hacking Int)

ARM 32-bit Raspberry Pi Hacking Int example in Kali Linux.

-> Click HERE to read the project on GitHub.

Lesson 117: ARM-32 Project (Part 3 – Hacking Float)

ARM 32-bit Raspberry Pi Hacking Float example in Kali Linux.

-> Click HERE to read the project on GitHub.

Lesson 118: ARM-32 Project (Part 4 – Hacking Double)

ARM 32-bit Raspberry Pi Hacking Double example in Kali Linux.

-> Click HERE to read the project on GitHub.

Lesson 119: ARM-32 Project (Part 5 – Hacking Char)

ARM 32-bit Raspberry Pi Hacking Char example in Kali Linux.

-> Click HERE to read the project on GitHub.

Lesson 120: ARM-32 Project (Part 6 – Hacking Char Pointer)

ARM 32-bit Raspberry Pi Char Pointer example in Kali Linux.

-> Click HERE to read the project on GitHub.


x64 Course

Lesson 121: x64 Course (Part 1 – The Cyber Revolution)

This tutorial will discuss the cyber revolution.

-> Click HERE to read the FREE ebook.

Lesson 122: x64 Course (Part 2 - Transistors)

This tutorial will discuss transistors.

-> Click HERE to read the FREE ebook.

Lesson 123: x64 Course (Part 3 - Logic Gates)

This tutorial will discuss logic gates.

-> Click HERE to read the FREE ebook.

Lesson 124: x64 Course (Part 4 - Number Systems)

This tutorial will discuss number systems.

-> Click HERE to read the FREE ebook.

Lesson 125: x64 Course (Part 5 - Binary Addition)

This tutorial will discuss binary addition.

-> Click HERE to read the FREE ebook.

Lesson 126: x64 Course (Part 6 - Binary Subtraction)

This tutorial will discuss binary subtraction.

-> Click HERE to read the FREE ebook.

Lesson 127: x64 Course (Part 7 - Word Lengths)

This tutorial will discuss word lengths.

-> Click HERE to read the FREE ebook.

Lesson 128: x64 Course (Part 8 - General Architecture)

This tutorial will discuss the general architecture.

-> Click HERE to read the FREE ebook.

Lesson 129: x64 Course (Part 9 - Calling Conventions)

This tutorial will discuss calling conventions.

-> Click HERE to read the FREE ebook.

Lesson 130: x64 Course (Part 10 - Boolean Instructions)

This tutorial will discuss boolean instructions.

-> Click HERE to read the FREE ebook.

Lesson 131: x64 Course (Part 11 - Pointers)

This tutorial will discuss pointers.

-> Click HERE to read the FREE ebook.

Lesson 132: x64 Course (Part 12 - Load Effective Address)

This tutorial will discuss load effective address.

-> Click HERE to read the FREE ebook.

Lesson 133: x64 Course (Part 13 - The Data Segment)

This tutorial will discuss the data segment.

-> Click HERE to read the FREE ebook.

Lesson 134: x64 Course (Part 14 - SHL Instruction)

This tutorial will discuss the shl instruction.

-> Click HERE to read the FREE ebook.

Lesson 135: x64 Course (Part 15 - SHR Instruction)

This tutorial will discuss the shr instruction.

-> Click HERE to read the FREE ebook.

Lesson 136: x64 Course (Part 16 - ROL Instruction)

This tutorial will discuss rol instruction.

-> Click HERE to read the FREE ebook.

Lesson 137: x64 Course (Part 17 - ROR Instruction)

This tutorial will discuss the ror instruction.

-> Click HERE to read the FREE ebook.

Lesson 138: x64 Course (Part 18 - Boot Sector Basics [Part 1])

This tutorial will discuss boot sector basics.

-> Click HERE to read the FREE ebook.

Lesson 139: x64 Course (Part 19 - Boot Sector Basics [Part 2])

This tutorial will discuss more boot sector basics.

-> Click HERE to read the FREE ebook.

Lesson 140: x64 Course (Part 20 - Boot Sector Basics [Part 3])

This tutorial will discuss more boot sector basics.

-> Click HERE to read the FREE ebook.

Lesson 141: x64 Course (Part 21 - Boot Sector Basics [Part 4])

This tutorial will discuss more boot sector basics.

-> Click HERE to read the FREE ebook.

Lesson 142: x64 Course (Part 22 - Boot Sector Basics [Part 5])

This tutorial will discuss more boot sector basics.

-> Click HERE to read the FREE ebook.

Lesson 143: x64 Course (Part 23 - Boot Sector Basics [Part 6])

This tutorial will discuss more boot sector basics.

-> Click HERE to read the FREE ebook.

Lesson 144: x64 Course (Part 24 - Boot Sector Basics [Part 7])

This tutorial will discuss more boot sector basics.

-> Click HERE to read the FREE ebook.

Lesson 145: x64 Course (Part 25 - Boot Sector Basics [Part 8])

This tutorial will discuss more boot sector basics.

-> Click HERE to read the FREE ebook.

Lesson 146: x64 Course (Part 26 - Boot Sector Basics [Part 9])

This tutorial will discuss more boot sector basics.

-> Click HERE to read the FREE ebook.

Lesson 147: x64 Course (Part 27 - x64 Assembly [Part 1])

This tutorial will discuss x64 assembly.

-> Click HERE to read the FREE ebook.

Lesson 148: x64 Course (Part 28 - x64 Assembly [Part 2])

This tutorial will discuss more x64 assembly.

-> Click HERE to read the FREE ebook.

Lesson 149: x64 Course (Part 29 - x64 Assembly [Part 3])

This tutorial will discuss more x64 assembly.

-> Click HERE to read the FREE ebook.

Lesson 150: x64 Course (Part 30 - x64 Assembly [Part 4])

This tutorial will discuss more x64 assembly.

-> Click HERE to read the FREE ebook.

Lesson 151: x64 Course (Part 31 - x64 Assembly [Part 5])

This tutorial will discuss more x64 assembly.

-> Click HERE to read the FREE ebook.

Lesson 152: x64 Course (Part 32 - x64 Assembly [Part 6])

This tutorial will discuss more x64 assembly.

-> Click HERE to read the FREE ebook.

Lesson 153: x64 Course (Part 33 - x64 Assembly [Part 7])

This tutorial will discuss more x64 assembly.

-> Click HERE to read the FREE ebook.

Lesson 154: x64 Course (Part 34 - x64 C++ 1 Code [Part 1])

This tutorial will discuss C++ code as it relates to 64-bit assembly.

-> Click HERE to read the FREE ebook.

Lesson 155: x64 Course (Part 35 - x64 C++ 2 Debug [Part 2])

This tutorial will discuss more C++ code as it relates to 64-bit assembly.

-> Click HERE to read the FREE ebook.

Lesson 156: x64 Course (Part 36 - x64 C++ 3 Hacking [Part 3])

This tutorial will discuss more C++ code as it relates to 64-bit assembly.

-> Click HERE to read the FREE ebook.

Lesson 157: x64 Course (Part 37 - x64 C & Genesis Of Life)

This tutorial will discuss c and how it relates to x64 assembly.

-> Click HERE to read the FREE ebook.

Lesson 158: x64 Course (Part 38 - x64 Networking Basics)

This tutorial will discuss x64 networking basics.

-> Click HERE to read the FREE ebook.

Lesson 159: x64 Course (Part 39 - Why C?)

This tutorial will discuss the power of the c language.

-> Click HERE to read the FREE ebook.

Lesson 160: x64 Course (Part 40 - Hacking Hello World!)

This tutorial will discuss hacking hello world.

-> Click HERE to read the FREE ebook.

Lesson 161: x64 Course (Part 41 - Hacking Variables!)

This tutorial will discuss hacking variables.

-> Click HERE to read the FREE ebook.

Lesson 162: x64 Course (Part 42 - Hacking Branches!)

This tutorial will discuss hacking branches.

-> Click HERE to read the FREE ebook.

Lesson 163: x64 Course (Part 43 - Hacking Pointers!)

This tutorial will discuss hacking pointers.

-> Click HERE to read the FREE ebook.


ARM-64 Course

Lesson 164: ARM-64 Course (Part 1 - The Meaning Of Life)

In this lesson we will discuss the course concepts and the meaning of life.

-> Click HERE to read the FREE ebook.

Lesson 165: ARM-64 Course (Part 2 - Development Setup)

In this lesson we will discuss how to set up our development in 64-bit ARM with Kali Linux.

-> Click HERE to read the FREE ebook.

Lesson 166: ARM-64 Course (Part 3 - "Hello World")

In this lesson we will discuss how to write and compile a simple hello world program in C++.

-> Click HERE to read the FREE ebook.

Lesson 167: ARM-64 Course (Part 4 - Debugging "Hello World")

In this lesson we will debug our simple hello world program.

-> Click HERE to read the FREE ebook.

Lesson 168: ARM-64 Course (Part 5 - Hacking "Hello World")

In this lesson we will hack our simple hello world program.

-> Click HERE to read the FREE ebook.

Lesson 169: ARM-64 Course (Part 6 - Basic I/O)

In this lesson we will discuss how to write and compile a simple basicio program in C++ and discuss basic input validation.

-> Click HERE to read the FREE ebook.

Lesson 170: ARM-64 Course (Part 7 - Debugging Basic I/O)

In this lesson we will discuss how to debug a simple basicio program in C++ and discuss basic input validation.

-> Click HERE to read the FREE ebook.

Lesson 171: ARM-64 Course (Part 8 - Hacking Basic I/O)

In this lesson we will discuss how to hack a simple basicio program in C++ and discuss basic input validation.

-> Click HERE to read the FREE ebook.

Lesson 172: ARM-64 Course (Part 9 - Character Primitive Datatype)

In this lesson we will discuss the char primitive datatype.

-> Click HERE to read the FREE ebook.

Lesson 173: ARM-64 Course (Part 10 - Debugging Character Primitive Datatype)

In this lesson we will discuss debugging the char primitive datatype.

-> Click HERE to read the FREE ebook.

Lesson 174: ARM-64 Course (Part 11 - Hacking Character Primitive Datatype)

In this lesson we will discuss hacking the char primitive datatype.

-> Click HERE to read the FREE ebook.

Lesson 175: ARM-64 Course (Part 12 - Boolean Primitive Datatype)

In this lesson we will discuss the boolean primitive datatype.

-> Click HERE to read the FREE ebook.

Lesson 176: ARM-64 Course (Part 13 - Debugging Boolean Primitive Datatype)

In this lesson we will discuss debugging the boolean primitive datatype.

-> Click HERE to read the FREE ebook.

Lesson 177: ARM-64 Course (Part 14 - Hacking Boolean Primitive Datatype)

In this lesson we will discuss hacking the boolean primitive datatype.

-> Click HERE to read the FREE ebook.

Lesson 178: ARM-64 Course (Part 15 - Float Primitive Datatype)

In this lesson we will discuss the float primitive datatype.

-> Click HERE to read the FREE ebook.

Lesson 179: ARM-64 Course (Part 16 - Debugging Float Primitive Datatype)

In this lesson we will discuss debugging the float primitive datatype.

-> Click HERE to read the FREE ebook.

Lesson 180: ARM-64 Course (Part 17 - Hacking Float Primitive Datatype)

In this lesson we will discuss hacking the float primitive datatype.

-> Click HERE to read the FREE ebook.

Lesson 181: ARM-64 Course (Part 18 - Double Primitive Datatype)

In this lesson we will discuss the double primitive datatype.

-> Click HERE to read the FREE ebook.

Lesson 182: ARM-64 Course (Part 19 - Debugging Double Primitive Datatype)

In this lesson we will discuss debugging the double primitive datatype.

-> Click HERE to read the FREE ebook.

Lesson 183: ARM-64 Course (Part 20 - Hacking Double Primitive Datatype)

In this lesson we will discuss hacking the double primitive datatype.

-> Click HERE to read the FREE ebook.


Pico Hacking Course

Lesson 184: Pico Hacking Course (Part 1 - The Why, The How...)

In this lesson we will discuss the basic setup of the development environment for the Raspberry Pi Pico.

-> Click HERE to read the FREE ebook.

Lesson 185: Pico Hacking Course (Part 2 - Hello World)

In this lesson we will discuss the basic Hello World program.

-> Click HERE to read the FREE ebook.

Lesson 186: Pico Hacking Course (Part 3 - Debugging Hello World)

In this lesson we will discuss debugging the basic Hello World program.

-> Click HERE to read the FREE ebook.

Lesson 187: Pico Hacking Course (Part 4 - Hacking Hello World)

In this lesson we will discuss hacking the basic Hello World program.

-> Click HERE to read the FREE ebook.

Lesson 188: Pico Hacking Course (Part 5 - char)

In this lesson we will discuss the char data type.

-> Click HERE to read the FREE ebook.

Lesson 189: Pico Hacking Course (Part 6 - Debugging char)

In this lesson we will discuss debugging the char data type.

-> Click HERE to read the FREE ebook.

Lesson 190: Pico Hacking Course (Part 7 - Hacking char)

In this lesson we will discuss hacking the char data type.

-> Click HERE to read the FREE ebook.

Lesson 191: Pico Hacking Course (Part 8 - int)

In this lesson we will discuss the int data type.

-> Click HERE to read the FREE ebook.

Lesson 192: Pico Hacking Course (Part 9 - Debugging int)

In this lesson we will discuss debugging the int data type.

-> Click HERE to read the FREE ebook.

Lesson 193: Pico Hacking Course (Part 10 - Hacking int)

In this lesson we will discuss hacking the int data type.

-> Click HERE to read the FREE ebook.

Lesson 194: Pico Hacking Course (Part 11 - float)

In this lesson we will discuss the float data type.

-> Click HERE to read the FREE ebook.

Lesson 195: Pico Hacking Course (Part 12 - Debugging float)

In this lesson we will discuss debugging the float data type.

-> Click HERE to read the FREE ebook.

Lesson 196: Pico Hacking Course (Part 13 - Hacking float)

In this lesson we will discuss hacking the float data type.

-> Click HERE to read the FREE ebook.

Lesson 197: Pico Hacking Course (Part 14 - double)

In this lesson we will discuss the double data type.

-> Click HERE to read the FREE ebook.

Lesson 198: Pico Hacking Course (Part 15 - Debugging double)

In this lesson we will discuss debugging the double data type.

-> Click HERE to read the FREE ebook.

Lesson 199: Pico Hacking Course (Part 16 - Hacking double)

In this lesson we will discuss hacking the double data type.

-> Click HERE to read the FREE ebook.

Lesson 200: Pico Hacking Course (Part 17 - "ABSOLUTE POWER CORRUPTS ABSOLUTELY!", The Tragic Tale Of Input...)

In this lesson we will discuss the concept of proper input handling.

-> Click HERE to read the FREE ebook.

Lesson 201: Pico Hacking Course (Part 18 - "FOR 800 YEARS HAVE I TRAINED JEDI!", The FORCE That IS Input...)

In this lesson we will discuss the importance of proper input handling in addition to breaking down our custom input function.

-> Click HERE to read the FREE ebook.

Lesson 202: Pico Hacking Course (Part 19 - Input)

In this lesson we will discuss creating an effective input architecture.

-> Click HERE to read the FREE ebook.

Lesson 203: Pico Hacking Course (Part 20 - Debugging Input)

In this lesson we will discuss debugging input.

-> Click HERE to read the FREE ebook.


Hacking Windows Course

Lesson 204: Hacking Windows Course (Chapter 1 - Hello World)

This chapter covers the basics of designing a very simple Windows Assembly Language message box program in pure Assembly for both x86 and x64 architectures.

-> Click HERE to read the FREE pdf book.

Lesson 205: Hacking Windows Course (Chapter 2: Debugging Hello World x86)

This chapter covers the dynamic reverse engineering analysis, debugging, of the Hello World app in x86 Assembly.

-> Click HERE to read the FREE pdf book.

Lesson 206: Hacking Windows Course (Chapter 3: Hacking Hello World x86)

This chapter covers the dynamic reverse engineering analysis, hacking, of the Hello World app in x86 Assembly.

-> Click HERE to read the FREE pdf book.

Lesson 207: Hacking Windows Course (Chapter 4: Debugging Hello World x64)

This chapter covers the dynamic reverse engineering analysis, debugging, of the Hello World app in x64 Assembly.

-> Click HERE to read the FREE pdf book.

Lesson 208: Hacking Windows Course (Chapter 5: Hacking Hello World x64)

This chapter covers the dynamic reverse engineering analysis, hacking, of the Hello World app in x64 Assembly.

-> Click HERE to read the FREE pdf book.

Lesson 209: Hacking Windows Course (Chapter 6: Directories)

This chapter covers reviewing the Windows API CreateDirectoryW and RemoveDirectoryW functions in C.

-> Click HERE to read the FREE pdf book.

Lesson 210: Hacking Windows Course (Chapter 7: Debugging Directories x86)

This chapter covers dynamic reverse engineering analysis, debugging, the Windows API CreateDirectoryW and RemoveDirectoryW functions in x86 Assembly.

-> Click HERE to read the FREE pdf book.

Lesson 211: Hacking Windows Course (Chapter 8: Hacking Directories x86)

This chapter covers dynamic reverse engineering analysis, hacking, the Windows API CreateDirectoryW and RemoveDirectoryW functions in x86 Assembly.

-> Click HERE to read the FREE pdf book.

Lesson 212: Hacking Windows Course (Chapter 9: Debugging Directories x64)

This chapter covers dynamic reverse engineering analysis, debugging, the Windows API CreateDirectoryW and RemoveDirectoryW functions in x64 Assembly.

-> Click HERE to read the FREE pdf book.

Lesson 213: Hacking Windows Course (Chapter 10: Hacking Directories x64)

This chapter covers dynamic reverse engineering analysis, hacking, the Windows API CreateDirectoryW and RemoveDirectoryW functions in x64 Assembly.

-> Click HERE to read the FREE pdf book.

Lesson 214: Hacking Windows Course (Chapter 11: CopyFile)

This chapter covers reviewing the Windows API CopyFileW function in C.

-> Click HERE to read the FREE pdf book.

Lesson 215: Hacking Windows Course (Chapter 12: Debugging CopyFile x86)

This chapter covers dynamic reverse engineering analysis, debugging, the Windows API CopyFileW function in x86 Assembly.

-> Click HERE to read the FREE pdf book.

Lesson 216: Hacking Windows Course (Chapter 13: Hacking CopyFile x86)

This chapter covers dynamic reverse engineering analysis, hacking, the Windows API CopyFileW function in x86 Assembly.

-> Click HERE to read the FREE pdf book.

Lesson 217: Hacking Windows Course (Chapter 14: Debugging CopyFile x64)

This chapter covers dynamic reverse engineering analysis, debugging, the Windows API CopyFileW function in x64 Assembly.

-> Click HERE to read the FREE pdf book.

Lesson 218: Hacking Windows Course (Chapter 15: Hacking CopyFile x86)

This chapter covers dynamic reverse engineering analysis, hacking, the Windows API CopyFileW function in x64 Assembly.

-> Click HERE to read the FREE pdf book.

Lesson 219: Hacking Windows Course (Chapter 16: MoveFile)

This chapter covers reviewing the Windows API MoveFileW function in C.

-> Click HERE to read the FREE pdf book.

Lesson 220: Hacking Windows Course (Chapter 17: Debugging MoveFile x86)

This chapter covers dynamic reverse engineering analysis, debugging, the Windows API MoveFileW function in x86 Assembly.

-> Click HERE to read the FREE pdf book.

Lesson 221: Hacking Windows Course (Chapter 18: Hacking MoveFile x86)

This chapter covers dynamic reverse engineering analysis, hacking, the Windows API MoveFileW function in x86 Assembly.

-> Click HERE to read the FREE pdf book.

Lesson 222: Hacking Windows Course (Chapter 19: Debugging MoveFile x64)

This chapter covers dynamic reverse engineering analysis, debugging, the Windows API MoveFileW function in x64 Assembly.

-> Click HERE to read the FREE pdf book.

Lesson 223: Hacking Windows Course (Chapter 20: Hacking MoveFile x64)

This chapter covers dynamic reverse engineering analysis, hacking, the Windows API MoveFileW function in x64 Assembly.

-> Click HERE to read the FREE pdf book.

Lesson 224: Hacking Windows Course (Chapter 21: CreateFile)

This chapter covers reviewing the Windows API CreateFileW function in C.

-> Click HERE to read the FREE pdf book.

Lesson 225: Hacking Windows Course (Chapter 22: Debugging CreateFile x86)

This chapter covers dynamic reverse engineering analysis, debugging, the Windows API CreateFileW function in x86 Assembly.

-> Click HERE to read the FREE pdf book.

Lesson 226: Hacking Windows Course (Chapter 23: Hacking CreateFile x86)

This chapter covers dynamic reverse engineering analysis, hacking, the Windows API CreateFileW function in x86 Assembly.

-> Click HERE to read the FREE pdf book.

Lesson 227: Hacking Windows Course (Chapter 24: Debugging CreateFile x64)

This chapter covers dynamic reverse engineering analysis, hacking, the Windows API CreateFileW function in x64 Assembly.

-> Click HERE to read the FREE pdf book.

Lesson 228: Hacking Windows Course (Chapter 25: Hacking CreateFile x64)

This chapter covers dynamic reverse engineering analysis, hacking, the Windows API CreateFileW function in x64 Assembly.

-> Click HERE to read the FREE pdf book.

Lesson 229: Hacking Windows Course (Chapter 26: WriteFile)

This chapter covers reviewing the Windows API WriteFile function in C.

-> Click HERE to read the FREE pdf book.

Lesson 230: Hacking Windows Course (Chapter 27: Debugging WriteFile x86)

This chapter covers dynamic reverse engineering analysis, debugging, the Windows API WriteFile function in x86 Assembly.

-> Click HERE to read the FREE pdf book.

Lesson 231: Hacking Windows Course (Chapter 28: Hacking WriteFile x86)

This chapter covers dynamic reverse engineering analysis, hacking, the Windows API WriteFile function in x86 Assembly.

-> Click HERE to read the FREE pdf book.

Lesson 232: Hacking Windows Course (Chapter 29: Debugging WriteFile x64)

This chapter covers dynamic reverse engineering analysis, debugging, the Windows API WriteFile function in x64 Assembly.

-> Click HERE to read the FREE pdf book.

Lesson 233: Hacking Windows Course (Chapter 30: Hacking WriteFile x64)

This chapter covers dynamic reverse engineering analysis, hacking, the Windows API WriteFile function in x64 Assembly.

-> Click HERE to read the FREE pdf book.


Go Hacking Course

Lesson 234: Go Hacking Course (Chapter 1: Hello Distributed System World)

This chapter covers the basics of setting up a dev environment and basic hello world style Go program for the x64 architecture.

-> Click HERE to read the FREE pdf book.

Lesson 235: Go Hacking Course (Chapter 2: Debugging Hello Distributed System World)

This chapter covers debugging of the basic hello world style Go program for the x64 architecture.

-> Click HERE to read the FREE pdf book.

Lesson 236: Go Hacking Course (Chapter 3: Hacking Hello Distributed System World)

This chapter covers hacking of the basic hello world style Go program for the x64 architecture.

-> Click HERE to read the FREE pdf book.

Lesson 237: Go Hacking Course (Chapter 4: Primitive Types)

This chapter covers Golang primitive types for the x64 architecture.

-> Click HERE to read the FREE pdf book.

Lesson 238: Go Hacking Course (Chapter 5: Debugging Primitive Types)

This chapter covers Golang debugging of the primitive types for the x64 architecture.

-> Click HERE to read the FREE pdf book.

Lesson 239: Go Hacking Course (Chapter 6: Hacking Primitive Types)

This chapter covers Golang hacking of the primitive types for the x64 architecture.

-> Click HERE to read the FREE pdf book.

Lesson 240: Go Hacking Course (Chapter 7: Control Flow)

This chapter covers Golang control flow for the x64 architecture.

-> Click HERE to read the FREE pdf book.

Lesson 241: Go Hacking Course (Chapter 8: Debugging Control Flow)

This chapter covers Golang debugging control flow for the x64 architecture.

-> Click HERE to read the FREE pdf book.

Lesson 242: Go Hacking Course (Chapter 9: Hacking Control Flow)

This chapter covers Golang hacking control flow for the x64 architecture.

-> Click HERE to read the FREE pdf book.

Lesson 243: Go Hacking Course (Chapter 10: Advanced Control Flow)

This chapter covers Golang advanced control flow for the x64 architecture.

-> Click HERE to read the FREE pdf book.

Lesson 244: Go Hacking Course (Chapter 11: Debugging Advanced Control Flow)

This chapter covers Golang debugging advanced control flow for the x64 architecture.

-> Click HERE to read the FREE pdf book.

Lesson 245: Go Hacking Course (Chapter 12: Hacking Advanced Control Flow)

This chapter covers Golang hacking advanced control flow for the x64 architecture.

-> Click HERE to read the FREE pdf book.


Hacking Rust Course

Lesson 246: Hacking Rust Course (Chapter 1: Hello Rust)

This chapter covers the basics of setting up a dev environment and basic hello world style Rust program for the x64 architecture.

-> Click HERE to read the FREE pdf book.

Lesson 247: Hacking Rust Course (Chapter 2: Debugging Hello Rust)

This chapter covers debugging the basic hello world style Rust program for the x64 architecture.

-> Click HERE to read the FREE pdf book.

Lesson 248: Hacking Rust Course (Chapter 3: Hacking Hello Rust)

This chapter covers hacking the basic hello world style Rust program for the x64 architecture.

-> Click HERE to read the FREE pdf book.

Lesson 249: Hacking Rust Course (Chapter 4: Scalar Data Types)

This chapter covers scalar data types within a Rust program for the x64 architecture.

-> Click HERE to read the FREE pdf book.

Lesson 250: Hacking Rust Course (Chapter 5: Debugging Scalar Data Types)

This chapter covers debugging scalar data types within a Rust program for the x64 architecture.

-> Click HERE to read the FREE pdf book.

Lesson 251: Hacking Rust Course (Chapter 6: Hacking Scalar Data Types)

This chapter covers hacking scalar data types within a Rust program for the x64 architecture.

-> Click HERE to read the FREE pdf book.

Lesson 252: Hacking Rust Course (Chapter 7: Compound Data Types)

This chapter covers compound data types within a Rust program for the x64 architecture.

-> Click HERE to read the FREE pdf book.

Lesson 253: Hacking Rust Course (Chapter 8: Debugging Compound Data Types)

This chapter covers debugging compound data types within a Rust program for the x64 architecture.

-> Click HERE to read the FREE pdf book.

Lesson 254: Hacking Rust Course (Chapter 9: Hacking Compound Data Types)

This chapter covers hacking compound data types within a Rust program for the x64 architecture.

-> Click HERE to read the FREE pdf book.

Lesson 255: Hacking Rust Course (Chapter 10: Functions)

This chapter covers functions within a Rust program for the x64 architecture.

-> Click HERE to read the FREE pdf book.

Lesson 256: Hacking Rust Course (Chapter 11: Debugging Functions)

This chapter covers debugging functions within a Rust program for the x64 architecture.

-> Click HERE to read the FREE pdf book.

Lesson 257: Hacking Rust Course (Chapter 12: Hacking Functions)

This chapter covers hacking functions within a Rust program for the x64 architecture.

-> Click HERE to read the FREE pdf book.

Lesson 258: Hacking Rust Course (Chapter 13: Control Flow)

This chapter covers control flow within a Rust program for the x64 architecture.

-> Click HERE to read the FREE pdf book.

Lesson 259: Hacking Rust Course (Chapter 14: Debugging Control Flow)

This chapter covers debugging control flow within a Rust program for the x64 architecture.

-> Click HERE to read the FREE pdf book.

Lesson 260: Hacking Rust Course (Chapter 15: Hacking Control Flow)

This chapter covers hacking control flow within a Rust program for the x64 architecture.

-> Click HERE to read the FREE pdf book.


Hacking Embedded Rust Course

Lesson 261: Hacking Embedded Rust Course (Chapter 1: Wiring)

This chapter covers the basics of setting up wiring for an embedded Rust Pico.

-> Click HERE to read the FREE pdf book.

Lesson 262: Hacking Embedded Rust Course (Chapter 2: Features)

This chapter covers the features of Reverse Engineering Rust Pico.

-> Click HERE to read the FREE pdf book.

Lesson 263: Hacking Embedded Rust Course (Chapter 3: Project Structure)

This chapter covers the project structure of Reverse Engineering Rust Pico.

-> Click HERE to read the FREE pdf book.

Lesson 264: Hacking Embedded Rust Course (Chapter 4: How It Works (Step-By-Step))

This chapter covers the project step-by-step of Reverse Engineering Rust Pico.

-> Click HERE to read the FREE pdf book.

Lesson 265: Hacking Embedded Rust Course (Chapter 5: Embassy Executor Enqueue/Dequeue In Detail

This chapter covers the project step-by-step enqueue/dequeue of Reverse Engineering Rust Pico.

-> Click HERE to read the FREE pdf book.

Lesson 266: Hacking Embedded Rust Course (Chapter 6: Building and Flashing)

This chapter covers the project step-by-step of building and flashing Reverse Engineering Rust Pico.

-> Click HERE to read the FREE pdf book.


Hacking Embedded Rust Course w/ microbit

Lesson 267: Hacking Embedded Rust Course w/ microbit (Chapter 1: Foundation Analysis and Binary Structure)

This chapter covers the foundation analysis and binary structure for an embedded Rust microbit.

-> Click HERE to read the FREE pdf book.

Lesson 268: Hacking Embedded Rust Course w/ microbit (Chapter 2: Embassy Async Runtime Deep Dive)

This chapter covers the Embassy async runtime for an embedded Rust microbit.

-> Click HERE to read the FREE pdf book.

Lesson 269: Hacking Embedded Rust Course w/ microbit (Chapter 3: Interrupt Handlers and Hardware Abstraction)

This chapter covers the interrupt handlers and hardware abstraction for an embedded Rust microbit.

-> Click HERE to read the FREE pdf book.

Lesson 270: Hacking Embedded Rust Course w/ microbit (Chapter 4: Advanced System Components)

This chapter covers the advanced system components for an embedded Rust microbit.

-> Click HERE to read the FREE pdf book.

Lesson 271: Hacking Embedded Rust Course w/ microbit (Chapter 5: Exploitation and Security Assessment)

This chapter covers the exploitation and security assessment for an embedded Rust microbit.

-> Click HERE to read the FREE pdf book.


Embedded Assembler Course

Lesson 272: Embedded Assembler Course (Chapter 1: Toolchain)

This chapter covers the basics of setting up a dev environment and basic template firmware for the STM32F401CCU6 MCU.

-> Click HERE to read the FREE pdf book.

Lesson 273: Embedded Assembler Course (Chapter 2: Architecture Basics)

This chapter covers the basics of the STM32F401CCU6 architecture.

-> Click HERE to read the FREE pdf book.

Lesson 274: Embedded Assembler Course (Chapter 3: Vector Table)

This chapter covers the concept and development of the vector table within the STM32F401CCU6 architecture.

-> Click HERE to read the FREE pdf book.

Lesson 275: Embedded Assembler Course (Chapter 4: Linker Script)

This chapter covers the linker script concept and development within the STM32F401CCU6 architecture.

-> Click HERE to read the FREE pdf book.

Lesson 276: Embedded Assembler Course (Chapter 5: ELF File Analysis)

This chapter covers ELF file analysis and tools within the STM32F401CCU6 architecture.

-> Click HERE to read the FREE pdf book.

Lesson 277: Embedded Assembler Course (Chapter 6: ARM Cortex-M Registers)

This chapter covers the ARM Cortex-M registers within the STM32F401CCU6 architecture.

-> Click HERE to read the FREE pdf book.

Lesson 278: Embedded Assembler Course (Chapter 7: ARM Thumb2 Instruction Set)

This chapter covers the ARM Thumb2 instruction set within the STM32F401CCU6 architecture.

-> Click HERE to read the FREE pdf book.

Lesson 279: Embedded Assembler Course (Chapter 8: Load & Store Instructions)

This chapter covers the basic load & store instructions in addition to real-time hacking within the STM32F401CCU6 architecture.

-> Click HERE to read the FREE pdf book.

Lesson 280: Embedded Assembler Course (Chapter 9: Constants & Literal Values)

This chapter covers the basic constants & literal value examples within the STM32F401CCU6 architecture.

-> Click HERE to read the FREE pdf book.

Lesson 281: Embedded Assembler Course (Chapter 10: Conditional Execution)

This chapter covers the basic conditional execution within the STM32F401CCU6 architecture.

-> Click HERE to read the FREE pdf book.

Lesson 282: Embedded Assembler Course (Chapter 11: Functions, Interrupts, UART & STUXNET Simulation!)

This chapter covers functions, interrupts, UART and a simple STUXNET simulation within the STM32F401CCU6 architecture.

-> Click HERE to read the FREE pdf book.


Embedded Hacking Course

Lesson 283: Embedded Hacking Course (Chapter 1: hello, world)

This chapter covers the basics of setting up a dev environment and basic template firmware for the Pico 2 MCU in addition to printing hello, world.

-> Click HERE to read the FREE pdf book.

Lesson 284: Embedded Hacking Course (Chapter 2: Debugging hello, world)

This chapter covers the debugging of our firmware for the Pico 2 MCU hello, world program.

-> Click HERE to read the FREE pdf book.

Lesson 285: Embedded Hacking Course (Chapter 3: Hacking hello, world)

This chapter covers the hacking of our firmware for the Pico 2 MCU hello, world program.

-> Click HERE to read the FREE pdf book.

Lesson 286: Embedded Hacking Course (Chapter 4: Embedded System Analysis)

This chapter covers a comprehensive embedded system analysis reviewing parts of the RP2350 datasheet and helpful firmware analysis tools.

-> Click HERE to read the FREE pdf book.

Lesson 287: Embedded Hacking Course (Chapter 5: Intro To Variables)

This chapter covers an introduction to variables as it relates to embedded development on the Pico 2.

-> Click HERE to read the FREE pdf book.

Lesson 288: Embedded Hacking Course (Chapter 6: Debugging Intro To Variables)

This chapter covers debugging an introduction to variables as it relates to embedded development on the Pico 2.

-> Click HERE to read the FREE pdf book.

Lesson 289: Embedded Hacking Course (Chapter 7: Hacking Intro To Variables)

This chapter covers hacking an introduction to variables as it relates to embedded development on the Pico 2.

-> Click HERE to read the FREE pdf book.

Lesson 290: Embedded Hacking Course (Chapter 8: Uninitialized Variables)

This chapter covers uninitialized variables as well as an intro to GPIO outputs as we blink an LED as it relates to embedded development on the Pico 2.

-> Click HERE to read the FREE pdf book.

Lesson 291: Embedded Hacking Course (Chapter 9: Debugging Uninitialized Variables)

This chapter covers debugging uninitialized variables as well as an intro to GPIO outputs as we blink an LED as it relates to embedded development on the Pico 2.

-> Click HERE to read the FREE pdf book.

Lesson 292: Embedded Hacking Course (Chapter 10: Hacking Uninitialized Variables)

This chapter covers hacking uninitialized variables as well as an intro to GPIO outputs as we blink an LED as it relates to embedded development on the Pico 2.

-> Click HERE to read the FREE pdf book.

Lesson 293: Embedded Hacking Course (Chapter 11: Integer Data Type)

This chapter covers the integer data type in addition to a deeper assembler dive into GPIO outputs as it relates to embedded development on the Pico 2.

-> Click HERE to read the FREE pdf book.

Lesson 294: Embedded Hacking Course (Chapter 12: Debugging Integer Data Type)

This chapter covers debugging the integer data type in addition to a deeper assembler dive into GPIO outputs as it relates to embedded development on the Pico 2.

-> Click HERE to read the FREE pdf book.

Lesson 295: Embedded Hacking Course (Chapter 13: Hacking Integer Data Type)

This chapter covers hacking the integer data type in addition to a deeper assembler dive into GPIO outputs as it relates to embedded development on the Pico 2.

-> Click HERE to read the FREE pdf book.

Lesson 296: Embedded Hacking Course (Chapter 14: Floating-Point Data Type)

This chapter covers the floating-point data type as it relates to embedded development on the Pico 2.

-> Click HERE to read the FREE pdf book.

Lesson 297: Embedded Hacking Course (Chapter 15: Debugging Floating-Point Data Type)

This chapter covers debugging the floating-point data type as it relates to embedded development on the Pico 2.

-> Click HERE to read the FREE pdf book.

Lesson 298: Embedded Hacking Course (Chapter 16: Hacking Floating-Point Data Type)

This chapter covers hacking the floating-point data type as it relates to embedded development on the Pico 2.

-> Click HERE to read the FREE pdf book.

Lesson 299: Embedded Hacking Course (Chapter 17: Double Floating-Point Data Type)

This chapter covers the double floating-point data type as it relates to embedded development on the Pico 2.

-> Click HERE to read the FREE pdf book.

Lesson 300: Embedded Hacking Course (Chapter 18: Debugging Double Floating-Point Data Type)

This chapter covers debugging the double floating-point data type as it relates to embedded development on the Pico 2.

-> Click HERE to read the FREE pdf book.

Lesson 301: Embedded Hacking Course (Chapter 19: Hacking Double Floating-Point Data Type)

This chapter covers hacking the double floating-point data type as it relates to embedded development on the Pico 2.

-> Click HERE to read the FREE pdf book.

Lesson 302: Embedded Hacking Course (Chapter 20: Static Variables)

This chapter covers static variables as well as an intro to GPIO inputs as we work with push buttons as it relates to embedded development on the Pico 2.

-> Click HERE to read the FREE pdf book.

Lesson 303: Embedded Hacking Course (Chapter 21: Debugging Static Variables)

This chapter covers debugging static variables as well as an intro to GPIO inputs as we work with push buttons as it relates to embedded development on the Pico 2.

-> Click HERE to read the FREE pdf book.

Lesson 304: Embedded Hacking Course (Chapter 22: Hacking Static Variables)

This chapter covers hacking static variables as well as an intro to GPIO inputs as we work with push buttons as it relates to embedded development on the Pico 2.

-> Click HERE to read the FREE pdf book.

Lesson 305: Embedded Hacking Course (Chapter 23: Constants)

This chapter covers constants as well as an intro to I2C as we work a 1602 LCD as it relates to embedded development on the Pico 2.

-> Click HERE to read the FREE pdf book.

Lesson 306: Embedded Hacking Course (Chapter 24: Debugging Constants)

This chapter covers debugging constants as well as an intro to I2C as we work a 1602 LCD as it relates to embedded development on the Pico 2.

-> Click HERE to read the FREE pdf book.

Lesson 307: Embedded Hacking Course (Chapter 25: Hacking Constants)

This chapter covers hacking constants as well as an intro to I2C as we work a 1602 LCD as it relates to embedded development on the Pico 2.

-> Click HERE to read the FREE pdf book.

Lesson 308: Embedded Hacking Course (Chapter 26: Operators)

This chapter covers operators as well as an intro to single-wire protocol as we work a DHT11 temperature and humidity sensor as it relates to embedded development on the Pico 2.

-> Click HERE to read the FREE pdf book.

Lesson 309: Embedded Hacking Course (Chapter 27: Debugging Operators)

This chapter covers debugging operators as well as an intro to single-wire protocol as we work a DHT11 temperature and humidity sensor as it relates to embedded development on the Pico 2.

-> Click HERE to read the FREE pdf book.

Lesson 310: Embedded Hacking Course (Chapter 28: Hacking Operators)

This chapter covers hacking operators as well as an intro to single-wire protocol as we work a DHT11 temperature and humidity sensor as it relates to embedded development on the Pico 2.

-> Click HERE to read the FREE pdf book.

Lesson 311: Embedded Hacking Course (Chapter 29: Static Conditionals)

This chapter covers static conditionals as well as an intro to PWM as we work a SG90 servo motor as it relates to embedded development on the Pico 2.

-> Click HERE to read the FREE pdf book.

Lesson 312: Embedded Hacking Course (Chapter 30: Debugging Static Conditionals)

This chapter covers debugging static conditionals as well as an intro to PWM as we work a SG90 servo motor as it relates to embedded development on the Pico 2.

-> Click HERE to read the FREE pdf book.

Lesson 313: Embedded Hacking Course (Chapter 31: Hacking Static Conditionals)

This chapter covers hacking static conditionals as well as an intro to PWM as we work a SG90 servo motor as it relates to embedded development on the Pico 2.

-> Click HERE to read the FREE pdf book.

Lesson 314: Embedded Hacking Course (Chapter 32: Dynamic Conditionals)

This chapter covers dynamic conditionals as well as additional PWM examples as we work a SG90 servo motor as it relates to embedded development on the Pico 2.

-> Click HERE to read the FREE pdf book.

Lesson 315: Embedded Hacking Course (Chapter 33: Debugging Dynamic Conditionals)

This chapter covers debugging dynamic conditionals as well as additional PWM examples as we work a SG90 servo motor as it relates to embedded development on the Pico 2.

-> Click HERE to read the FREE pdf book.

Lesson 316: Embedded Hacking Course (Chapter 34: Hacking Dynamic Conditionals)

This chapter covers hacking dynamic conditionals as well as additional PWM examples as we work a SG90 servo motor as it relates to embedded development on the Pico 2.

-> Click HERE to read the FREE pdf book.

Lesson 317: Embedded Hacking Course (Chapter 35: Structures)

This chapter covers structures as well as an intro to infrared basics as we work a infrared receiver and infrared remote controller as it relates to embedded development on the Pico 2.

-> Click HERE to read the FREE pdf book.

Lesson 318: Embedded Hacking Course (Chapter 36: Debugging Structures)

This chapter covers debugging structures as well as an intro to infrared basics as we work a infrared receiver and infrared remote controller as it relates to embedded development on the Pico 2.

-> Click HERE to read the FREE pdf book.

Lesson 319: Embedded Hacking Course (Chapter 37: Hacking Structures)

This chapter covers hacking structures as well as an intro to infrared basics as we work a infrared receiver and infrared remote controller as it relates to embedded development on the Pico 2.

-> Click HERE to read the FREE pdf book.

Lesson 320: Embedded Hacking Course (Chapter 38: Functions, w/ Param, w/ Return)

This chapter covers functions, w/ params and w/ a return value as well as additional infrared examples as we work a infrared receiver and infrared remote controller it relates to embedded development on the Pico 2.

-> Click HERE to read the FREE pdf book.

Lesson 321: Embedded Hacking Course (Chapter 39: Debugging Functions, w/ Param, w/ Return)

This chapter covers debugging functions, w/ params and w/ a return value as well as additional infrared examples as we work a infrared receiver and infrared remote controller as it relates to embedded development on the Pico 2.

-> Click HERE to read the FREE pdf book.

Lesson 322: Embedded Hacking Course (Chapter 40: Hacking Functions, w/ Param, w/ Return)

This chapter covers hacking functions, w/ params and w/ a return value as it relates to embedded development on the Pico 2.

-> Click HERE to read the FREE pdf book.


Hacking Bits Course

Lesson 323: Hacking Bits Course (Chapter 1: Ohm's Law - The Foundation of Electronics)

This chapter covers the basics Ohm's Law and basic electronics.

-> Click HERE to read the FREE pdf book.

Lesson 324: Hacking Bits Course (Chapter 2: The Binary Number System)

This chapter covers the basics of the binary number system.

-> Click HERE to read the FREE pdf book.

Lesson 325: Hacking Bits Course (Chapter 3: The Hexadecimal Number System)

This chapter covers the basics of the hexadecimal number system.

-> Click HERE to read the FREE pdf book.

Lesson 326: Hacking Bits Course (Chapter 4: The ATmega328P Architecture)

This chapter covers the basics of the ATmega328P Architecture.

-> Click HERE to read the FREE pdf book.

Lesson 327: Hacking Bits Course (Chapter 5: Tools)

This chapter covers the basics of setting up a toolchain and development environment.

-> Click HERE to read the FREE pdf book.

Lesson 328: Hacking Bits Course (Chapter 6: ATmega328P Datasheet)

This chapter covers the basics of the ATmega328P datasheet.

-> Click HERE to read the FREE pdf book.

Lesson 329: Hacking Bits Course (Chapter 7: Blink Driver in C)

This chapter covers the development and reverse engineering of a blink driver in AVR C.

-> Click HERE to read the FREE pdf book.

Lesson 330: Hacking Bits Course (Chapter 8: Blink Driver in Assembler)

This chapter covers the development of a blink driver in AVR Assembler.

-> Click HERE to read the FREE pdf book.

Lesson 331: Hacking Bits Course (Chapter 9: IO Driver in C)

This chapter covers the development and reverse engineering of an IO driver in C.

-> Click HERE to read the FREE pdf book.

Lesson 332: Hacking Bits Course (Chapter 10: STUXNET)

This chapter covers the development and reverse engineering of an servo motor in C including a mock STUXNET hack.

-> Click HERE to read the FREE pdf book.


Hacking RISC-V Course

Lesson 333: Hacking RISC-V Course (Chapter 1: Why RISC-V)

This chapter covers the "why" of learning RISC-V hacking as we discuss the rise of RISC-V and introduce our ESP32-C3 dev board.

-> Click HERE to read the FREE pdf book.

Lesson 334: Hacking RISC-V Course (Chapter 2: Setup Environment)

This chapter covers setting up your development environment including everything you need to purchase and download including setup.

-> Click HERE to read the FREE pdf book.

Lesson 335: Hacking RISC-V Course (Chapter 3: Hello, World)

This chapter covers creating your first project in PlatformIO and creating your first Assembler file to interact with your C environment.

-> Click HERE to read the FREE pdf book.

Lesson 336: Hacking RISC-V Course (Chapter 4: Binary Numbers)

This chapter covers the basics of binary numbers and their general application for embedded systems.

-> Click HERE to read the FREE pdf book.

Lesson 337: Hacking RISC-V Course (Chapter 5: Hexadecimal Numbers)

This chapter covers the basics of hexadecimal numbers and their general application for embedded systems.

-> Click HERE to read the FREE pdf book.

Lesson 338: Hacking RISC-V Course (Chapter 6: Advanced OPS)

This chapter covers the advanced operations using hex and binary in addition to memory manipulation and bit-level operations for the RISC-V ESP32-C3.

-> Click HERE to read the FREE pdf book.

Lesson 339: Hacking RISC-V Course (Chapter 7: Registers)

This chapter covers the registers for the RISC-V ESP32-C3.

-> Click HERE to read the FREE pdf book.

Lesson 340: Hacking RISC-V Course (Chapter 8: ADD)

This chapter covers how to add within the RISC-V ESP32-C3.

-> Click HERE to read the FREE pdf book.

Lesson 341: Hacking RISC-V Course (Chapter 9: Debugging ADD)

This chapter covers how to debug add within the RISC-V ESP32-C3.

-> Click HERE to read the FREE pdf book.


RP2350 UART Driver Course

Lesson 342: RP2350 UART Driver Course (Chapter 1: What Is a Computer?)

This chapter covers the fetch-decode-execute cycle, the three core components, microcontrollers vs desktop computers, the RP2350, ARM Cortex-M33, and assembly language.

-> Click HERE to read the FREE tutorial on GitHub.

Lesson 343: RP2350 UART Driver Course (Chapter 2: Number Systems — Binary, Hexadecimal, and Decimal)

This chapter covers decimal, binary, and hexadecimal number systems, bit numbering, common bit patterns, two's complement, and data sizes on ARM Cortex-M33.

-> Click HERE to read the FREE tutorial on GitHub.

Lesson 344: RP2350 UART Driver Course (Chapter 3: Memory — Addresses, Bytes, Words, and Endianness)

This chapter covers the address space, bytes, halfwords, words, alignment, little-endian byte order, memory-mapped registers, the stack, flash memory, and SRAM.

-> Click HERE to read the FREE tutorial on GitHub.

Lesson 345: RP2350 UART Driver Course (Chapter 4: What Is a Register?)

This chapter covers the ARM Cortex-M33 register file, general-purpose registers, the stack pointer, link register, program counter, special registers, and the program status register.

-> Click HERE to read the FREE tutorial on GitHub.

Lesson 346: RP2350 UART Driver Course (Chapter 5: Load-Store Architecture — How ARM Accesses Memory)

This chapter covers the load-store design philosophy, ldr and str instructions, the load-modify-store pattern, byte and halfword access, and push and pop operations.

-> Click HERE to read the FREE tutorial on GitHub.

Lesson 347: RP2350 UART Driver Course (Chapter 6: The Fetch-Decode-Execute Cycle in Detail)

This chapter covers the three stages of instruction execution, the pipeline, branch effects, the Cortex-M33 execution model, and clock speed.

-> Click HERE to read the FREE tutorial on GitHub.

Lesson 348: RP2350 UART Driver Course (Chapter 7: ARM Cortex-M33 ISA Overview)

This chapter covers the ARM design philosophy, Thumb-2 instruction encoding, instruction categories, encoding formats, and instructions used in the firmware.

-> Click HERE to read the FREE tutorial on GitHub.

Lesson 349: RP2350 UART Driver Course (Chapter 8: ARM Immediate and Move Instructions)

This chapter covers the mov instruction, ldr pseudo-instruction, ldr immediate instruction, immediate encoding in Thumb-2, constants in firmware, and add/sub immediates.

-> Click HERE to read the FREE tutorial on GitHub.

Lesson 350: RP2350 UART Driver Course (Chapter 9: ARM Arithmetic and Logic Instructions)

This chapter covers arithmetic instructions, logic instructions, shift instructions, the 's' suffix for flag updates, and the read-modify-write pattern.

-> Click HERE to read the FREE tutorial on GitHub.

Lesson 351: RP2350 UART Driver Course (Chapter 10: ARM Memory Access Instructions — Load and Store Deep Dive)

This chapter covers ldr, str, push and pop stack operations, addressing modes, memory access sizes, hardware configuration, and the polling loop pattern.

-> Click HERE to read the FREE tutorial on GitHub.

Lesson 352: RP2350 UART Driver Course (Chapter 11: ARM Branch Instructions)

This chapter covers unconditional branches, branch with link, branch exchange, condition flags, conditional branches, polling loops, and branch range.

-> Click HERE to read the FREE tutorial on GitHub.

Lesson 353: RP2350 UART Driver Course (Chapter 12: ARM Jumps, Calls, and Returns)

This chapter covers the bl instruction for function calls, bx lr for returns, the complete call/return sequence, nested calls, push/pop solutions, leaf vs non-leaf functions, and the Thumb bit.

-> Click HERE to read the FREE tutorial on GitHub.

Lesson 354: RP2350 UART Driver Course (Chapter 13: Pseudo-Instructions — What the Assembler Does For You)

This chapter covers ldr constant loading, .equ symbol definitions, .include file inclusion, .global symbol export, .type, .size, .word, .byte, .hword, and pseudo-instructions vs directives.

-> Click HERE to read the FREE tutorial on GitHub.

Lesson 355: RP2350 UART Driver Course (Chapter 14: Assembler Directives — Controlling the Assembly Process)

This chapter covers .syntax unified, .cpu cortex-m33, .thumb, .section, .align, .equ, .global, .type, .size, .word, .byte, .hword, .include, and KEEP in linker context.

-> Click HERE to read the FREE tutorial on GitHub.

Lesson 356: RP2350 UART Driver Course (Chapter 15: The Calling Convention and Stack Frames)

This chapter covers the ARM AAPCS calling convention, caller-saved and callee-saved registers, the stack frame, function prologue and epilogue, and leaf vs non-leaf functions.

-> Click HERE to read the FREE tutorial on GitHub.

Lesson 357: RP2350 UART Driver Course (Chapter 16: Bitwise Operations for Hardware Programming)

This chapter covers the bit manipulation toolkit, setting bits with orr, clearing bits with bic, testing bits with tst, isolating bits with ands, masking, the read-modify-write pattern, and shifting.

-> Click HERE to read the FREE tutorial on GitHub.

Lesson 358: RP2350 UART Driver Course (Chapter 17: Memory-Mapped I/O — Controlling Hardware Through Addresses)

This chapter covers how memory-mapped I/O works, reading vs writing peripheral registers, the RP2350 peripheral address map, UART0 register map, volatile behavior, atomic aliases, and barriers.

-> Click HERE to read the FREE tutorial on GitHub.

Lesson 359: RP2350 UART Driver Course (Chapter 18: The RP2350 Microcontroller — Architecture and Hardware)

This chapter covers the RP2350 block diagram, ARM Cortex-M33 core, memory map, bus fabric, reset controller, clock system, XOSC, UART0, GPIO pin multiplexing, coprocessor interface, boot process, and vector table.

-> Click HERE to read the FREE tutorial on GitHub.

Lesson 360: RP2350 UART Driver Course (Chapter 19: The Linker Script — Placing Code in Memory)

This chapter covers the linker script linker.ld, a line-by-line explanation, and the memory layout.

-> Click HERE to read the FREE tutorial on GitHub.

Lesson 361: RP2350 UART Driver Course (Chapter 20: The Build Pipeline — From Assembly to UF2)

This chapter covers the build script build.bat, the four build stages of assembly, linking, binary extraction, and UF2 conversion, cleaning, and the family ID.

-> Click HERE to read the FREE tutorial on GitHub.

Lesson 362: RP2350 UART Driver Course (Chapter 21: image_def.s — The PICOBIN Block Byte by Byte)

This chapter covers the full source of image_def.s, a line-by-line walkthrough, the complete block in memory, and secure mode.

-> Click HERE to read the FREE tutorial on GitHub.

Lesson 363: RP2350 UART Driver Course (Chapter 22: constants.s — Every .equ Definition Explained)

This chapter covers the full source of constants.s, a line-by-line walkthrough, how .equ works, and the .include mechanism.

-> Click HERE to read the FREE tutorial on GitHub.

Lesson 364: RP2350 UART Driver Course (Chapter 23: stack.s and vector_table.s — Stack Initialization and the Vector Table)

This chapter covers the full source and walkthrough of both vector_table.s and stack.s for stack initialization and the vector table.

-> Click HERE to read the FREE tutorial on GitHub.

Lesson 365: RP2350 UART Driver Course (Chapter 24: reset_handler.s — The Boot Sequence Line by Line)

This chapter covers the full source of reset_handler.s, a line-by-line walkthrough, the boot sequence diagram, and why order matters.

-> Click HERE to read the FREE tutorial on GitHub.

Lesson 366: RP2350 UART Driver Course (Chapter 25: xosc.s — Crystal Oscillator Initialization)

This chapter covers the full source of xosc.s, Init_XOSC, Enable_XOSC_Peri_Clock, the clock path diagram, and why XOSC matters for UART.

-> Click HERE to read the FREE tutorial on GitHub.

Lesson 367: RP2350 UART Driver Course (Chapter 26: reset.s — Releasing IO_BANK0 from Reset)

This chapter covers the full source of reset.s, a line-by-line walkthrough, the RP2350 reset controller, and the atomic clear alternative.

-> Click HERE to read the FREE tutorial on GitHub.

Lesson 368: RP2350 UART Driver Course (Chapter 27: uart.s Part 1 — UART_Release_Reset and UART_Init)

This chapter covers the UART_Release_Reset function, the UART_Init function, and a UART register map summary.

-> Click HERE to read the FREE tutorial on GitHub.

Lesson 369: RP2350 UART Driver Course (Chapter 28: uart.s Part 2 — UART0_Out and UART0_In)

This chapter covers the UART0_Out transmit function, the UART0_In receive function, register usage comparison, the polling pattern, and data flow through the UART.

-> Click HERE to read the FREE tutorial on GitHub.

Lesson 370: RP2350 UART Driver Course (Chapter 29: main.s — The Echo Loop)

This chapter covers the full source of main.s, a line-by-line walkthrough, the complete execution flow, and what makes this a complete firmware.

-> Click HERE to read the FREE tutorial on GitHub.

Lesson 371: RP2350 UART Driver Course (Chapter 30: Full Integration — From Power-On to Echo)

This chapter covers the complete integration from build to flash to boot ROM to hardware reset sequence to Reset_Handler to the echo loop, the complete address map, and what we built.

-> Click HERE to read the FREE tutorial on GitHub.


RP2350 UART Driver RISC-V Course

Lesson 372: RP2350 UART Driver RISC-V Course (Chapter 1: What Is a Computer?)

This chapter covers the fetch-decode-execute cycle, the three core components, microcontrollers vs desktop computers, the RP2350, RISC-V, and assembly language.

-> Click HERE to read the FREE tutorial on GitHub.

Lesson 373: RP2350 UART Driver RISC-V Course (Chapter 2: Number Systems — Binary, Hexadecimal, and Decimal)

This chapter covers decimal, binary, and hexadecimal number systems, prefixes in code, and size units in computing.

-> Click HERE to read the FREE tutorial on GitHub.

Lesson 374: RP2350 UART Driver RISC-V Course (Chapter 3: Memory — Addresses, Bytes, Words, and Endianness)

This chapter covers the byte-addressable model, words and alignment, endianness, memory regions on RP2350, memory-mapped I/O, and address arithmetic.

-> Click HERE to read the FREE tutorial on GitHub.

Lesson 375: RP2350 UART Driver RISC-V Course (Chapter 4: What Is a Register?)

This chapter covers the RISC-V register file, the hardwired zero register x0, ABI register names, and visualizing registers.

-> Click HERE to read the FREE tutorial on GitHub.

Lesson 376: RP2350 UART Driver RISC-V Course (Chapter 5: Load-Store Architecture — How RISC-V Accesses Memory)

This chapter covers the load-store principle, RISC-V load and store instructions, base + offset addressing, and the memory bus.

-> Click HERE to read the FREE tutorial on GitHub.

Lesson 377: RP2350 UART Driver RISC-V Course (Chapter 6: The Fetch-Decode-Execute Cycle in Detail)

This chapter covers the cycle step by step, the pipeline concept, tracing through firmware, and the program counter.

-> Click HERE to read the FREE tutorial on GitHub.

Lesson 378: RP2350 UART Driver RISC-V Course (Chapter 7: RISC-V ISA Overview)

This chapter covers the RISC-V design philosophy, the rv32imac_zicsr ISA string, instruction encoding summary, and how this maps to the firmware.

-> Click HERE to read the FREE tutorial on GitHub.

Lesson 379: RP2350 UART Driver RISC-V Course (Chapter 8: RISC-V Immediate and Upper-Immediate Instructions)

This chapter covers I-type immediates, shift immediates, U-type instructions LUI and AUIPC, building 32-bit constants with LUI + ADDI, the LI pseudoinstruction, and LA load address.

-> Click HERE to read the FREE tutorial on GitHub.

Lesson 380: RP2350 UART Driver RISC-V Course (Chapter 9: RISC-V Arithmetic and Logic Instructions)

This chapter covers R-type format, addition and subtraction, logical operations, shift operations, comparison instructions, MUL from M extension, and the read-modify-write pattern.

-> Click HERE to read the FREE tutorial on GitHub.

Lesson 381: RP2350 UART Driver RISC-V Course (Chapter 10: RISC-V Memory Access Instructions — Load and Store Deep Dive)

This chapter covers the load and store instruction families, why the firmware uses only LW and SW, offset encoding constraints, and the complete memory access map.

-> Click HERE to read the FREE tutorial on GitHub.

Lesson 382: RP2350 UART Driver RISC-V Course (Chapter 11: RISC-V Branch Instructions)

This chapter covers how branches work, B-type encoding, the six branch instructions, signed vs unsigned comparison, branches in firmware, local labels, branch range limitation, and the no flags register design.

-> Click HERE to read the FREE tutorial on GitHub.

Lesson 383: RP2350 UART Driver RISC-V Course (Chapter 12: RISC-V Jumps, Calls, and Returns)

This chapter covers JAL, JALR, CALL, RET, and TAIL pseudoinstructions, the complete call chain, infinite loops, and nested calls with the stack.

-> Click HERE to read the FREE tutorial on GitHub.

Lesson 384: RP2350 UART Driver RISC-V Course (Chapter 13: Pseudoinstructions — What the Assembler Does For You)

This chapter covers what a pseudoinstruction is, a complete pseudoinstruction reference, why pseudoinstructions matter, and how to identify them.

-> Click HERE to read the FREE tutorial on GitHub.

Lesson 385: RP2350 UART Driver RISC-V Course (Chapter 14: Assembler Directives — Controlling the Assembly Process)

This chapter covers sections, symbol visibility, alignment, data embedding, constant definitions, file inclusion, labels, and putting it all together.

-> Click HERE to read the FREE tutorial on GitHub.

Lesson 386: RP2350 UART Driver RISC-V Course (Chapter 15: The Calling Convention and Stack Frames)

This chapter covers the RISC-V ilp32 calling convention, the stack, stack frame layout, function types in firmware, argument flow, and caller-saved registers in action.

-> Click HERE to read the FREE tutorial on GitHub.

Lesson 387: RP2350 UART Driver RISC-V Course (Chapter 16: Bitwise Operations for Hardware Programming)

This chapter covers bit numbering, the four fundamental bit operations, the read-modify-write pattern, multi-bit fields, the BGEZ bit testing trick, constants in firmware, and common bit patterns.

-> Click HERE to read the FREE tutorial on GitHub.

Lesson 388: RP2350 UART Driver RISC-V Course (Chapter 17: Memory-Mapped I/O — Controlling Hardware Through Addresses)

This chapter covers the memory-mapped I/O principle, the RP2350 address space map, peripheral register structure, register types, volatility, ordering, the PPB, and atomic access concerns.

-> Click HERE to read the FREE tutorial on GitHub.

Lesson 389: RP2350 UART Driver RISC-V Course (Chapter 18: The RP2350 Microcontroller — Architecture and Hardware)

This chapter covers the RP2350 block diagram, the Hazard3 RISC-V core, memory system, reset infrastructure, clock infrastructure, GPIO system, UART hardware, boot sequence, and what the firmware must do.

-> Click HERE to read the FREE tutorial on GitHub.

Lesson 390: RP2350 UART Driver RISC-V Course (Chapter 19: The Linker Script — Placing Code in Memory)

This chapter covers the linker script linker.ld, a line-by-line walkthrough, and the memory layout after linking.

-> Click HERE to read the FREE tutorial on GitHub.

Lesson 391: RP2350 UART Driver RISC-V Course (Chapter 20: The Build Pipeline — From Assembly to UF2)

This chapter covers the four-stage pipeline, toolchain path auto-detection, object file contents, and examining the final ELF.

-> Click HERE to read the FREE tutorial on GitHub.

Lesson 392: RP2350 UART Driver RISC-V Course (Chapter 21: image_def.s — Boot Metadata Line by Line)

This chapter covers the section and alignment, start marker, image type item, entry point item, last item marker, block loop pointer, end marker, complete binary dump, and boot ROM sequence.

-> Click HERE to read the FREE tutorial on GitHub.

Lesson 393: RP2350 UART Driver RISC-V Course (Chapter 22: constants.s — Every Definition Explained)

This chapter covers stack constants, crystal oscillator constants, system constants, clock constants, reset controller constants, GPIO constants, UART constants, and how constants are used.

-> Click HERE to read the FREE tutorial on GitHub.

Lesson 394: RP2350 UART Driver RISC-V Course (Chapter 23: stack.s and vector_table.s — Line by Line)

This chapter covers the full walkthrough of stack.s and vector_table.s and why both files exist.

-> Click HERE to read the FREE tutorial on GitHub.

Lesson 395: RP2350 UART Driver RISC-V Course (Chapter 24: reset_handler.s — The Boot Sequence Line by Line)

This chapter covers the Reset_Handler function, Default_Trap_Handler, Init_Trap_Vector, and the complete initialization order.

-> Click HERE to read the FREE tutorial on GitHub.

Lesson 396: RP2350 UART Driver RISC-V Course (Chapter 25: xosc.s — Crystal Oscillator Initialization Line by Line)

This chapter covers Init_XOSC, Enable_XOSC_Peri_Clock, register usage summary, and the read-modify-write pattern.

-> Click HERE to read the FREE tutorial on GitHub.

Lesson 397: RP2350 UART Driver RISC-V Course (Chapter 26: reset.s — Releasing IO_BANK0 from Reset)

This chapter covers the reset controller background, a line-by-line walkthrough, the bit-clear pattern in detail, and the polling pattern.

-> Click HERE to read the FREE tutorial on GitHub.

Lesson 398: RP2350 UART Driver RISC-V Course (Chapter 27: uart.s Part 1 — Release Reset and Initialization)

This chapter covers the UART_Release_Reset function, the UART_Init function, and a register map summary.

-> Click HERE to read the FREE tutorial on GitHub.

Lesson 399: RP2350 UART Driver RISC-V Course (Chapter 28: uart.s Part 2 — Transmit and Receive)

This chapter covers the UART0_Out blocking transmit function, the UART0_In blocking receive function, the echo loop, the dual-purpose UARTDR register, and potential issues.

-> Click HERE to read the FREE tutorial on GitHub.

Lesson 400: RP2350 UART Driver RISC-V Course (Chapter 29: main.s — The Application Entry Point)

This chapter covers the .text section, the echo loop, the data sections, register usage throughout the loop, why this code is minimal, and the complete execution timeline.

-> Click HERE to read the FREE tutorial on GitHub.

Lesson 401: RP2350 UART Driver RISC-V Course (Chapter 30: Full Integration — Build, Flash, Wire, and Test)

This chapter covers the project structure, the build pipeline, the memory map after build, hardware setup, flashing the firmware, testing with a terminal, the complete boot flow, debugging tips, what you have learned, and where to go next.

-> Click HERE to read the FREE tutorial on GitHub.


RP2350 Blink Driver Course

Lesson 402: RP2350 Blink Driver Course (Chapter 1: What Is a Computer?)

This chapter covers the fetch-decode-execute cycle, the three core components, microcontrollers vs desktop computers, the RP2350, ARM Cortex-M33, assembly language, and what we will build.

-> Click HERE to read the FREE tutorial on GitHub.

Lesson 403: RP2350 Blink Driver Course (Chapter 2: Number Systems — Binary, Hexadecimal, and Decimal)

This chapter covers decimal, binary, and hexadecimal number systems, the 0x prefix, bit numbering, common bit patterns, two's complement, and data sizes on ARM Cortex-M33.

-> Click HERE to read the FREE tutorial on GitHub.

Lesson 404: RP2350 Blink Driver Course (Chapter 3: Memory — Addresses, Bytes, Words, and Endianness)

This chapter covers the address space, bytes, halfwords, words, alignment, little-endian byte order, memory-mapped registers, the stack, flash memory, SRAM, and reading the address map.

-> Click HERE to read the FREE tutorial on GitHub.

Lesson 405: RP2350 Blink Driver Course (Chapter 4: What Is a Register?)

This chapter covers the ARM Cortex-M33 register file, registers r0-r3, r4-r11, r12, r13 (SP), r14 (LR), r15 (PC), special registers, the program status register (xPSR), and register usage in our firmware.

-> Click HERE to read the FREE tutorial on GitHub.

Lesson 406: RP2350 Blink Driver Course (Chapter 5: Load-Store Architecture — How ARM Accesses Memory)

This chapter covers the load instruction (ldr), the store instruction (str), the load-modify-store pattern, byte and halfword access, push and pop, and memory access in our firmware.

-> Click HERE to read the FREE tutorial on GitHub.

Lesson 407: RP2350 Blink Driver Course (Chapter 6: The Fetch-Decode-Execute Cycle in Detail)

This chapter covers the three stages, the pipeline, a concrete example, how branch instructions affect the pipeline, the Cortex-M33 execution model, and clock speed.

-> Click HERE to read the FREE tutorial on GitHub.

Lesson 408: RP2350 Blink Driver Course (Chapter 7: ARM Cortex-M33 ISA Overview)

This chapter covers the ARM design philosophy, Thumb-2 instruction encoding, instruction categories, instruction encoding formats, and instructions used in our firmware.

-> Click HERE to read the FREE tutorial on GitHub.

Lesson 409: RP2350 Blink Driver Course (Chapter 8: ARM Immediate and Move Instructions)

This chapter covers the mov instruction, the ldr Rd, =value pseudo-instruction, literal pool placement, our firmware's use of immediates, and why not always use mov.

-> Click HERE to read the FREE tutorial on GitHub.

Lesson 410: RP2350 Blink Driver Course (Chapter 9: ARM Arithmetic and Logic Instructions)

This chapter covers arithmetic instructions, logic instructions, the APSR flags, and the read-modify-write pattern.

-> Click HERE to read the FREE tutorial on GitHub.

Lesson 411: RP2350 Blink Driver Course (Chapter 10: ARM Memory Access Instructions)

This chapter covers ldr (load register), str (store register), push and pop (stack operations), memory map and peripheral access, alignment requirements, and msr and mrs (special register access).

-> Click HERE to read the FREE tutorial on GitHub.

Lesson 412: RP2350 Blink Driver Course (Chapter 11: ARM Branch Instructions)

This chapter covers unconditional branches, conditional branches, branch encoding and range, condition codes, and polling loops.

-> Click HERE to read the FREE tutorial on GitHub.

Lesson 413: RP2350 Blink Driver Course (Chapter 12: ARM Calls, Returns, and the Stack Frame)

This chapter covers the link register, leaf vs non-leaf functions, the call chain, the stack frame, nested calls, the ARM calling convention (AAPCS), parameter passing, and Reset_Handler as a special case.

-> Click HERE to read the FREE tutorial on GitHub.

Lesson 414: RP2350 Blink Driver Course (Chapter 13: Assembler Directives)

This chapter covers syntax and instruction set directives, section directives, symbol directives, data directives, function directives, and the include directive.

-> Click HERE to read the FREE tutorial on GitHub.

Lesson 415: RP2350 Blink Driver Course (Chapter 14: Labels, Symbols, and the Symbol Table)

This chapter covers defining labels, global vs local labels, label types in our firmware, the symbol table, .equ constants, cross-file resolution, the linking process, and the Thumb bit.

-> Click HERE to read the FREE tutorial on GitHub.

Lesson 416: RP2350 Blink Driver Course (Chapter 15: Sections, Memory Layout, and the Linker Script)

This chapter covers what sections are, our linker script, section-by-section walkthrough, the final memory map, the ENTRY directive, symbol exports from the linker script, and why sections matter.

-> Click HERE to read the FREE tutorial on GitHub.

Lesson 417: RP2350 Blink Driver Course (Chapter 16: System Registers and Coprocessor Interface)

This chapter covers special-purpose registers, memory-mapped system registers, barrier instructions, the coprocessor interface, and the complete coprocessor flow.

-> Click HERE to read the FREE tutorial on GitHub.

Lesson 418: RP2350 Blink Driver Course (Chapter 17: Bit Manipulation Patterns)

This chapter covers the fundamental operations, setting a single bit, clearing a single bit, clearing a multi-bit field, testing a bit, combined patterns, bit fields in our registers, and why this matters.

-> Click HERE to read the FREE tutorial on GitHub.

Lesson 419: RP2350 Blink Driver Course (Chapter 18: RP2350 Hardware Architecture)

This chapter covers the RP2350 block diagram, memory map, crystal oscillator (XOSC), clock system, reset controller, GPIO architecture, GPIO16 and the LED, and the boot sequence.

-> Click HERE to read the FREE tutorial on GitHub.

Lesson 420: RP2350 Blink Driver Course (Chapter 19: The Linker Script)

This chapter covers the entry point, memory constants, memory regions, program headers, section placement, the resulting memory layout, and summary.

-> Click HERE to read the FREE tutorial on GitHub.

Lesson 421: RP2350 Blink Driver Course (Chapter 20: The Build System)

This chapter covers the build pipeline, stage 1 (assembly), stage 2 (linking), stage 3 (binary extraction), stage 4 (UF2 conversion), error handling, flashing the firmware, and the clean script.

-> Click HERE to read the FREE tutorial on GitHub.

Lesson 422: RP2350 Blink Driver Course (Chapter 21: image_def.s — The PICOBIN Boot Block)

This chapter covers the complete source code, section placement, block structure, byte-by-byte analysis, and why this matters.

-> Click HERE to read the FREE tutorial on GitHub.

Lesson 423: RP2350 Blink Driver Course (Chapter 22: constants.s — Memory Addresses and Constants)

This chapter covers the preamble, stack constants, crystal oscillator constants, system registers, clock constants, reset controller constants, GPIO constants, how .include works, and design principle.

-> Click HERE to read the FREE tutorial on GitHub.

Lesson 424: RP2350 Blink Driver Course (Chapter 23: vector_table.s and stack.s — Boot Foundation)

This chapter covers the vector_table.s and stack.s complete source code, the boot sequence, and how they work together at startup.

-> Click HERE to read the FREE tutorial on GitHub.

Lesson 425: RP2350 Blink Driver Course (Chapter 24: reset_handler.s — The Boot Sequence)

This chapter covers the complete source code, symbol metadata, the initialization sequence, the dependency chain, and why Reset_Handler is not a normal function.

-> Click HERE to read the FREE tutorial on GitHub.

Lesson 426: RP2350 Blink Driver Course (Chapter 25: xosc.s — Crystal Oscillator and Clock Configuration)

This chapter covers Init_XOSC line-by-line, Enable_XOSC_Peri_Clock line-by-line, both functions as leaf functions, and the clock domain after configuration.

-> Click HERE to read the FREE tutorial on GitHub.

Lesson 427: RP2350 Blink Driver Course (Chapter 26: reset.s — Releasing Peripherals from Reset)

This chapter covers the complete source code, line-by-line walkthrough, reset register bit map, why the wait is necessary, function characteristics, and local labels.

-> Click HERE to read the FREE tutorial on GitHub.

Lesson 428: RP2350 Blink Driver Course (Chapter 27: gpio.s Part 1 — GPIO_Config)

This chapter covers the complete source code for GPIO_Config, function signature, register save and restore, phase 1 (pad configuration), phase 2 (function select), phase 3 (enable output via coprocessor), the three layers of GPIO configuration, and how main.s calls GPIO_Config.

-> Click HERE to read the FREE tutorial on GitHub.

Lesson 429: RP2350 Blink Driver Course (Chapter 28: gpio.s Part 2, delay.s, and coprocessor.s — Output Control and Timing)

This chapter covers GPIO_Set (drive pin high), GPIO_Clear (drive pin low), Delay_MS (millisecond delay), Enable_Coprocessor (CP0 access), and the runtime flow.

-> Click HERE to read the FREE tutorial on GitHub.

Lesson 430: RP2350 Blink Driver Course (Chapter 29: main.s — The Blink Loop)

This chapter covers the complete source code, function metadata, register save, GPIO16 configuration (one-time setup), the infinite blink loop, unreachable code, data sections, and the complete execution flow.

-> Click HERE to read the FREE tutorial on GitHub.

Lesson 431: RP2350 Blink Driver Course (Chapter 30: Full Integration — From Source to Blinking LED)

This chapter covers verifying the toolchain, building the firmware, verifying build artifacts, wiring the hardware, flashing the firmware, verifying operation, troubleshooting, the complete architecture, and what you have learned.

-> Click HERE to read the FREE tutorial on GitHub.


RP2350 Blink Driver RISC-V Course

Lesson 432: RP2350 Blink Driver RISC-V Course (Chapter 1: What Is a Computer?)

This chapter covers the fetch-decode-execute cycle, the three core components, microcontrollers vs desktop computers, the RP2350, RISC-V, assembly language, and what we are building.

-> Click HERE to read the FREE tutorial on GitHub.

Lesson 433: RP2350 Blink Driver RISC-V Course (Chapter 2: Number Systems — Binary, Hexadecimal, and Decimal)

This chapter covers decimal, binary, and hexadecimal number systems, the 0x prefix, bit numbering, common bit patterns, two's complement, and data sizes on RISC-V Hazard3.

-> Click HERE to read the FREE tutorial on GitHub.

Lesson 434: RP2350 Blink Driver RISC-V Course (Chapter 3: Memory — Addresses, Bytes, Words, and Endianness)

This chapter covers the address space, bytes, halfwords, words, alignment, little-endian byte order, memory-mapped registers, the stack, flash memory, SRAM, and CSR access.

-> Click HERE to read the FREE tutorial on GitHub.

Lesson 435: RP2350 Blink Driver RISC-V Course (Chapter 4: What Is a Register?)

This chapter covers the RISC-V register file, register x0 (the hardwired zero), ABI register names, control and status registers, and visualizing registers.

-> Click HERE to read the FREE tutorial on GitHub.

Lesson 436: RP2350 Blink Driver RISC-V Course (Chapter 5: Load-Store Architecture — How RISC-V Accesses Memory)

This chapter covers the load-store principle, why load-store, RISC-V load instructions, RISC-V store instructions, base + offset addressing, and the memory bus.

-> Click HERE to read the FREE tutorial on GitHub.

Lesson 437: RP2350 Blink Driver RISC-V Course (Chapter 6: The Fetch-Decode-Execute Cycle in Detail)

This chapter covers the cycle step by step, the pipeline concept, tracing through our firmware, and the program counter.

-> Click HERE to read the FREE tutorial on GitHub.

Lesson 438: RP2350 Blink Driver RISC-V Course (Chapter 7: RISC-V Hazard3 ISA Overview)

This chapter covers the RISC-V design philosophy, the ISA string rv32imac_zicsr, instruction encoding formats, the complete instruction table, and how this maps to our firmware.

-> Click HERE to read the FREE tutorial on GitHub.

Lesson 439: RP2350 Blink Driver RISC-V Course (Chapter 8: Immediate and Upper-Immediate Instructions)

This chapter covers what an immediate is, I-type immediates (12-bit signed), U-type instructions (LUI and AUIPC), building 32-bit constants (LUI + ADDI), the LI pseudo-instruction, and the LA pseudo-instruction.

-> Click HERE to read the FREE tutorial on GitHub.

Lesson 440: RP2350 Blink Driver RISC-V Course (Chapter 9: Arithmetic and Logic Instructions)

This chapter covers R-type format, addition and subtraction, logical operations, shift operations, MUL from M extension, no condition flags, and the read-modify-write pattern.

-> Click HERE to read the FREE tutorial on GitHub.

Lesson 441: RP2350 Blink Driver RISC-V Course (Chapter 10: Memory Access — Load and Store Deep Dive)

This chapter covers the load instruction family, the store instruction family, why our firmware uses only LW and SW, stack operations, CSR access instructions, and the complete memory access map.

-> Click HERE to read the FREE tutorial on GitHub.

Lesson 442: RP2350 Blink Driver RISC-V Course (Chapter 11: Branch Instructions)

This chapter covers how branches work, B-type encoding, the six branch instructions, branches in our firmware, and no flags register.

-> Click HERE to read the FREE tutorial on GitHub.

Lesson 443: RP2350 Blink Driver RISC-V Course (Chapter 12: Jumps, Calls, and Returns)

This chapter covers JAL (jump and link), JALR (jump and link register), the CALL pseudo-instruction, the RET pseudo-instruction, the complete call chain, and nested calls and the stack.

-> Click HERE to read the FREE tutorial on GitHub.

Lesson 444: RP2350 Blink Driver RISC-V Course (Chapter 13: Pseudo-Instructions — What the Assembler Does For You)

This chapter covers what a pseudo-instruction is, the complete pseudo-instruction reference, and why pseudo-instructions matter.

-> Click HERE to read the FREE tutorial on GitHub.

Lesson 445: RP2350 Blink Driver RISC-V Course (Chapter 14: Assembler Directives — Controlling the Assembly Process)

This chapter covers sections, symbol visibility, alignment, data embedding, constant definitions, file inclusion, and labels.

-> Click HERE to read the FREE tutorial on GitHub.

Lesson 446: RP2350 Blink Driver RISC-V Course (Chapter 15: The Calling Convention and Stack Frames)

This chapter covers the RISC-V ilp32 calling convention, the stack, stack frame layout, function types in our firmware, and caller-saved in action.

-> Click HERE to read the FREE tutorial on GitHub.

Lesson 447: RP2350 Blink Driver RISC-V Course (Chapter 16: Bitwise Operations for Hardware Programming)

This chapter covers bit numbering, the four fundamental bit operations, the read-modify-write pattern, bit testing, and SIO atomic registers.

-> Click HERE to read the FREE tutorial on GitHub.

Lesson 448: RP2350 Blink Driver RISC-V Course (Chapter 17: Memory-Mapped I/O — Controlling Hardware Through Addresses)

This chapter covers the principle, RP2350 address space map, peripheral register access patterns, and APB vs SIO.

-> Click HERE to read the FREE tutorial on GitHub.

Lesson 449: RP2350 Blink Driver RISC-V Course (Chapter 18: The RP2350 — Architecture and Hardware)

This chapter covers the RP2350 block diagram, the Hazard3 RISC-V core, memory system, clock infrastructure, reset infrastructure, GPIO system, and boot sequence.

-> Click HERE to read the FREE tutorial on GitHub.

Lesson 450: RP2350 Blink Driver RISC-V Course (Chapter 19: The Linker Script — Placing Code in Memory)

This chapter covers the full source (linker.ld), line-by-line walkthrough, memory layout after linking, and summary.

-> Click HERE to read the FREE tutorial on GitHub.

Lesson 451: RP2350 Blink Driver RISC-V Course (Chapter 20: The Build Pipeline — From Assembly to Flashable Binary)

This chapter covers the build pipeline, toolchain auto-detection, stage 1 (assembly), stage 2 (linking), stage 3 (binary extraction), stage 4 (UF2 conversion), error handling, flashing the firmware, and the clean script.

-> Click HERE to read the FREE tutorial on GitHub.

Lesson 452: RP2350 Blink Driver RISC-V Course (Chapter 21: Boot Metadata — image_def.s)

This chapter covers the full source, section placement, start marker, image type item, entry point item, last-item marker, and memory layout.

-> Click HERE to read the FREE tutorial on GitHub.

Lesson 453: RP2350 Blink Driver RISC-V Course (Chapter 22: The Constants File — constants.s)

This chapter covers the full source, how .equ works, stack constants, XOSC constants, GPIO constants, and SIO constants.

-> Click HERE to read the FREE tutorial on GitHub.

Lesson 454: RP2350 Blink Driver RISC-V Course (Chapter 23: Stack and Vector Table — stack.s and vector_table.s)

This chapter covers stack.s full source, stack initialization line by line, vector_table.s full source, vector table line by line, and contrast with ARM.

-> Click HERE to read the FREE tutorial on GitHub.

Lesson 455: RP2350 Blink Driver RISC-V Course (Chapter 24: Boot Sequence — reset_handler.s)

This chapter covers the full source, the boot call chain, Reset_Handler line by line, Default_Trap_Handler, Init_Trap_Vector, the complete boot timeline, and summary.

-> Click HERE to read the FREE tutorial on GitHub.

Lesson 456: RP2350 Blink Driver RISC-V Course (Chapter 25: Oscillator Initialization — xosc.s)

This chapter covers the full source, Init_XOSC line by line, Enable_XOSC_Peri_Clock line by line, and contrast with ARM.

-> Click HERE to read the FREE tutorial on GitHub.

Lesson 457: RP2350 Blink Driver RISC-V Course (Chapter 26: Reset Controller — reset.s)

This chapter covers the full source, phase 1 (release from reset), phase 2 (wait for completion), and the clear-bit pattern.

-> Click HERE to read the FREE tutorial on GitHub.

Lesson 458: RP2350 Blink Driver RISC-V Course (Chapter 27: GPIO Configuration — gpio.s Part 1)

This chapter covers GPIO_Config full source, parameters, stack frame, phase 1 (pad configuration), phase 2 (function select), and phase 3 (enable output).

-> Click HERE to read the FREE tutorial on GitHub.

Lesson 459: RP2350 Blink Driver RISC-V Course (Chapter 28: GPIO Set/Clear, Delay, and Coprocessor — gpio.s Part 2, delay.s, coprocessor.s)

This chapter covers GPIO_Set full source, GPIO_Clear full source, delay.s full source, and coprocessor.s full source.

-> Click HERE to read the FREE tutorial on GitHub.

Lesson 460: RP2350 Blink Driver RISC-V Course (Chapter 29: Application Entry Point — main.s)

This chapter covers the full source, GPIO16 configuration, the blink loop, and the call graph.

-> Click HERE to read the FREE tutorial on GitHub.

Lesson 461: RP2350 Blink Driver RISC-V Course (Chapter 30: Full Integration — Build, Flash, Wire, and Test)

This chapter covers the complete source tree, the complete execution path, memory map after linking, hardware wiring, building the firmware, flashing the firmware, and verification.

-> Click HERE to read the FREE tutorial on GitHub.


License

Apache License, Version 2.0

Releases

No releases published

Packages