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
This tutorial will discuss pointers.
-> Click HERE to read the FREE ebook.
Reverse Engineering E-BOOK HERE
Reverse Engineering PDF HERE
Assembled by @0xInfection (Twitter)
Turbo Scanner HERE
Turbo Attack HERE
Hacking Windows HERE
Windows Process Lifecycle HERE
Windows Kernel Debugging HERE
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
Python For Kids HERE
Python Zero To Hero HERE
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.
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.
This tutorial will address the basic forms of malware and how they work in simple terms.
-> Click HERE to read the FREE ebook.
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.
This tutorial will address the very basics of the binary number system.
-> Click HERE to read the FREE ebook.
This tutorial will address the very basics of the hexadecimal number system.
-> Click HERE to read the FREE ebook.
This tutorial will address the basics of transistors and memory.
-> Click HERE to read the FREE ebook.
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.
This tutorial will address the basic architecture of an x86 processor.
-> Click HERE to read the FREE ebook.
This tutorial will address the general purpose x86 registers.
-> Click HERE to read the FREE ebook.
This tutorial will address the x86 segment registers.
-> Click HERE to read the FREE ebook.
This tutorial will address the x86 instruction pointer register.
-> Click HERE to read the FREE ebook.
This tutorial will address the x86 control registers.
-> Click HERE to read the FREE ebook.
This tutorial will address the status, control and systems flags.
-> Click HERE to read the FREE ebook.
This tutorial will address the stack.
-> Click HERE to read the FREE ebook.
This tutorial will address the heap.
-> Click HERE to read the FREE ebook.
This tutorial will address how to install Ubuntu Linux on both Windows and MAC.
-> Click HERE to read the FREE ebook.
This tutorial will address how to install the vim text editor.
-> Click HERE to read the FREE ebook.
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.
This tutorial will address op codes and instruction code handling.
-> Click HERE to read the FREE ebook.
This tutorial will address how to compile a basic x86 Assembly Program.
-> Click HERE to read the FREE ebook.
This tutorial will address how to create our first real Assembly Program by moving immediate data.
-> Click HERE to read the FREE ebook.
This tutorial will address how to debug our first real Assembly Program by moving immediate data.
-> Click HERE to read the FREE ebook.
This tutorial will address how to hack our first real Assembly Program by moving immediate data.
-> Click HERE to read the FREE ebook.
This tutorial will address how to create our second real Assembly Program by moving between registers.
-> Click HERE to read the FREE ebook.
This tutorial will address how to debug our second real Assembly Program by moving between registers.
-> Click HERE to read the FREE ebook.
This tutorial will address how to hack our second real Assembly Program by moving between registers.
-> Click HERE to read the FREE ebook.
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.
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.
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.
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.
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.
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.
This tutorial will address how to create our fifth real Assembly Program by indirect addressing with registers.
-> Click HERE to read the FREE ebook.
This tutorial will address how to debug our fifth real Assembly Program by indirect addressing with registers.
-> Click HERE to read the FREE ebook.
This tutorial will address how to hack our fifth real Assembly Program by indirect addressing with registers.
-> Click HERE to read the FREE ebook.
This tutorial will address how to hack our sixth real Assembly Program with CMOV instructions.
-> Click HERE to read the FREE ebook.
This tutorial will address how to debug our sixth real Assembly Program with CMOV instructions.
-> Click HERE to read the FREE ebook.
This tutorial will address how to hack our sixth real Assembly Program with CMOV instructions.
-> Click HERE to read the FREE ebook.
This tutorial will conclude this x86 tutorial.
-> Click HERE to read the FREE ebook.
This tutorial will introduce our ARM-32 Course 1 tutorial series.
-> Click HERE to read the FREE ebook.
This tutorial will discuss number systems such as binary, decimal and hexadecimal in detail.
-> Click HERE to read the FREE ebook.
This tutorial will discuss binary addition.
-> Click HERE to read the FREE ebook.
This tutorial will discuss binary subtraction.
-> Click HERE to read the FREE ebook.
This tutorial will discuss word lengths.
-> Click HERE to read the FREE ebook.
This tutorial will discuss registers.
-> Click HERE to read the FREE ebook.
This tutorial will discuss the program counter.
-> Click HERE to read the FREE ebook.
This tutorial will discuss the CPSR.
-> Click HERE to read the FREE ebook.
This tutorial will discuss the Link Register.
-> Click HERE to read the FREE ebook.
This tutorial will discuss the Stack Pointer.
-> Click HERE to read the FREE ebook.
This tutorial will discuss ARM Firmware Boot Procedures.
-> Click HERE to read the FREE ebook.
This tutorial will discuss Von Neumann Architecture.
-> Click HERE to read the FREE ebook.
This tutorial will discuss the instruction pipeline.
-> Click HERE to read the FREE ebook.
This tutorial will discuss the add instruction.
-> Click HERE to read the FREE ebook.
This tutorial will discuss debugging the add instruction.
-> Click HERE to read the FREE ebook.
This tutorial will discuss hacking the add instruction.
-> Click HERE to read the FREE ebook.
This tutorial will discuss the adds instruction.
-> Click HERE to read the FREE ebook.
This tutorial will discuss debugging the adds instruction.
-> Click HERE to read the FREE ebook.
This tutorial will discuss hacking the adds instruction.
-> Click HERE to read the FREE ebook.
This tutorial will discuss the ADC instruction.
-> Click HERE to read the FREE ebook.
This tutorial will discuss debugging the ADC instruction.
-> Click HERE to read the FREE ebook.
This tutorial will discuss hacking the ADC instruction.
-> Click HERE to read the FREE ebook.
This tutorial will discuss the SUB instruction.
-> Click HERE to read the FREE ebook.
This tutorial will discuss debugging the SUB instruction.
-> Click HERE to read the FREE ebook.
This tutorial will discuss hacking the SUB instruction.
-> Click HERE to read the FREE ebook.
This tutorial will introduce our ARM-32 Course 2 course.
-> Click HERE to read the FREE ebook.
This tutorial will discuss number systems.
-> Click HERE to read the FREE ebook.
This tutorial will discuss binary addition.
-> Click HERE to read the FREE ebook.
This tutorial will discuss binary subtraction.
-> Click HERE to read the FREE ebook.
This tutorial will discuss word lengths.
-> Click HERE to read the FREE ebook.
This tutorial will discuss registers.
-> Click HERE to read the FREE ebook.
This tutorial will discuss program counter.
-> Click HERE to read the FREE ebook.
This tutorial will discuss the CPSR.
-> Click HERE to read the FREE ebook.
This tutorial will discuss the link register.
-> Click HERE to read the FREE ebook.
This tutorial will discuss the stack pointer.
-> Click HERE to read the FREE ebook.
This tutorial will discuss the firmware boot procedures.
-> Click HERE to read the FREE ebook.
This tutorial will discuss the Von Neumann Architecture.
-> Click HERE to read the FREE ebook.
This tutorial will discuss the instruction pipeline.
-> Click HERE to read the FREE ebook.
This tutorial will discuss the basics of a hello world program in ARM 32-bit.
-> Click HERE to read the FREE ebook.
This tutorial will discuss debugging hello world.
-> Click HERE to read the FREE ebook.
This tutorial will discuss hacking hello world.
-> Click HERE to read the FREE ebook.
This tutorial will discuss constants.
-> Click HERE to read the FREE ebook.
This tutorial will discuss debugging constants.
-> Click HERE to read the FREE ebook.
This tutorial will discuss hacking constants.
-> Click HERE to read the FREE ebook.
This tutorial will discuss character variables.
-> Click HERE to read the FREE ebook.
This tutorial will discuss debugging character variables.
-> Click HERE to read the FREE ebook.
This tutorial will discuss hacking character variables.
-> Click HERE to read the FREE ebook.
This tutorial will discuss boolean variables.
-> Click HERE to read the FREE ebook.
This tutorial will discuss debugging boolean variables.
-> Click HERE to read the FREE ebook.
This tutorial will discuss hacking boolean variables.
-> Click HERE to read the FREE ebook.
This tutorial will discuss integer variables.
-> Click HERE to read the FREE ebook.
This tutorial will discuss debugging integer variables.
-> Click HERE to read the FREE ebook.
This tutorial will discuss hacking integer variables.
-> Click HERE to read the FREE ebook.
This tutorial will discuss float variables.
-> Click HERE to read the FREE ebook.
This tutorial will discuss debugging float variables.
-> Click HERE to read the FREE ebook.
This tutorial will discuss hacking float variables.
-> Click HERE to read the FREE ebook.
This tutorial will discuss double variables.
-> Click HERE to read the FREE ebook.
This tutorial will discuss debugging double variables.
-> Click HERE to read the FREE ebook.
This tutorial will discuss hacking double variables.
-> Click HERE to read the FREE ebook.
This tutorial will discuss the sizeof operator.
-> Click HERE to read the FREE ebook.
This tutorial will discuss debugging sizeof operator.
-> Click HERE to read the FREE ebook.
This tutorial will discuss hacking sizeof operator.
-> Click HERE to read the FREE ebook.
This tutorial will discuss the pre-increment operator.
-> Click HERE to read the FREE ebook.
This tutorial will discuss debugging pre-increment operator.
-> Click HERE to read the FREE ebook.
This tutorial will discuss hacking pre-increment operator.
-> Click HERE to read the FREE ebook.
This tutorial will discuss the post-increment operator.
-> Click HERE to read the FREE ebook.
This tutorial will discuss debugging post-increment operator.
-> Click HERE to read the FREE ebook.
This tutorial will discuss hacking post-increment operator.
-> Click HERE to read the FREE ebook.
This tutorial will discuss the pre-decrement operator.
-> Click HERE to read the FREE ebook.
This tutorial will discuss debugging pre-decrement operator.
-> Click HERE to read the FREE ebook.
This tutorial will discuss hacking pre-decrement operator.
-> Click HERE to read the FREE ebook.
This tutorial will discuss post-decrement operator.
-> Click HERE to read the FREE ebook.
This tutorial will discuss debugging post-decrement operator.
-> Click HERE to read the FREE ebook.
This tutorial will discuss hacking post-decrement operator.
-> Click HERE to read the FREE ebook.
ARM 32-bit Raspberry Pi Hacking Hello World example in Kali Linux.
-> Click HERE to read the project on GitHub.
ARM 32-bit Raspberry Pi Hacking Int example in Kali Linux.
-> Click HERE to read the project on GitHub.
ARM 32-bit Raspberry Pi Hacking Float example in Kali Linux.
-> Click HERE to read the project on GitHub.
ARM 32-bit Raspberry Pi Hacking Double example in Kali Linux.
-> Click HERE to read the project on GitHub.
ARM 32-bit Raspberry Pi Hacking Char example in Kali Linux.
-> Click HERE to read the project on GitHub.
ARM 32-bit Raspberry Pi Char Pointer example in Kali Linux.
-> Click HERE to read the project on GitHub.
This tutorial will discuss the cyber revolution.
-> Click HERE to read the FREE ebook.
This tutorial will discuss transistors.
-> Click HERE to read the FREE ebook.
This tutorial will discuss logic gates.
-> Click HERE to read the FREE ebook.
This tutorial will discuss number systems.
-> Click HERE to read the FREE ebook.
This tutorial will discuss binary addition.
-> Click HERE to read the FREE ebook.
This tutorial will discuss binary subtraction.
-> Click HERE to read the FREE ebook.
This tutorial will discuss word lengths.
-> Click HERE to read the FREE ebook.
This tutorial will discuss the general architecture.
-> Click HERE to read the FREE ebook.
This tutorial will discuss calling conventions.
-> Click HERE to read the FREE ebook.
This tutorial will discuss boolean instructions.
-> Click HERE to read the FREE ebook.
This tutorial will discuss pointers.
-> Click HERE to read the FREE ebook.
This tutorial will discuss load effective address.
-> Click HERE to read the FREE ebook.
This tutorial will discuss the data segment.
-> Click HERE to read the FREE ebook.
This tutorial will discuss the shl instruction.
-> Click HERE to read the FREE ebook.
This tutorial will discuss the shr instruction.
-> Click HERE to read the FREE ebook.
This tutorial will discuss rol instruction.
-> Click HERE to read the FREE ebook.
This tutorial will discuss the ror instruction.
-> Click HERE to read the FREE ebook.
This tutorial will discuss boot sector basics.
-> Click HERE to read the FREE ebook.
This tutorial will discuss more boot sector basics.
-> Click HERE to read the FREE ebook.
This tutorial will discuss more boot sector basics.
-> Click HERE to read the FREE ebook.
This tutorial will discuss more boot sector basics.
-> Click HERE to read the FREE ebook.
This tutorial will discuss more boot sector basics.
-> Click HERE to read the FREE ebook.
This tutorial will discuss more boot sector basics.
-> Click HERE to read the FREE ebook.
This tutorial will discuss more boot sector basics.
-> Click HERE to read the FREE ebook.
This tutorial will discuss more boot sector basics.
-> Click HERE to read the FREE ebook.
This tutorial will discuss more boot sector basics.
-> Click HERE to read the FREE ebook.
This tutorial will discuss x64 assembly.
-> Click HERE to read the FREE ebook.
This tutorial will discuss more x64 assembly.
-> Click HERE to read the FREE ebook.
This tutorial will discuss more x64 assembly.
-> Click HERE to read the FREE ebook.
This tutorial will discuss more x64 assembly.
-> Click HERE to read the FREE ebook.
This tutorial will discuss more x64 assembly.
-> Click HERE to read the FREE ebook.
This tutorial will discuss more x64 assembly.
-> Click HERE to read the FREE ebook.
This tutorial will discuss more x64 assembly.
-> Click HERE to read the FREE ebook.
This tutorial will discuss C++ code as it relates to 64-bit assembly.
-> Click HERE to read the FREE ebook.
This tutorial will discuss more C++ code as it relates to 64-bit assembly.
-> Click HERE to read the FREE ebook.
This tutorial will discuss more C++ code as it relates to 64-bit assembly.
-> Click HERE to read the FREE ebook.
This tutorial will discuss c and how it relates to x64 assembly.
-> Click HERE to read the FREE ebook.
This tutorial will discuss x64 networking basics.
-> Click HERE to read the FREE ebook.
This tutorial will discuss the power of the c language.
-> Click HERE to read the FREE ebook.
This tutorial will discuss hacking hello world.
-> Click HERE to read the FREE ebook.
This tutorial will discuss hacking variables.
-> Click HERE to read the FREE ebook.
This tutorial will discuss hacking branches.
-> Click HERE to read the FREE ebook.
This tutorial will discuss hacking pointers.
-> Click HERE to read the FREE ebook.
In this lesson we will discuss the course concepts and the meaning of life.
-> Click HERE to read the FREE ebook.
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.
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.
In this lesson we will debug our simple hello world program.
-> Click HERE to read the FREE ebook.
In this lesson we will hack our simple hello world program.
-> Click HERE to read the FREE ebook.
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.
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.
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.
In this lesson we will discuss the char primitive datatype.
-> Click HERE to read the FREE ebook.
In this lesson we will discuss debugging the char primitive datatype.
-> Click HERE to read the FREE ebook.
In this lesson we will discuss hacking the char primitive datatype.
-> Click HERE to read the FREE ebook.
In this lesson we will discuss the boolean primitive datatype.
-> Click HERE to read the FREE ebook.
In this lesson we will discuss debugging the boolean primitive datatype.
-> Click HERE to read the FREE ebook.
In this lesson we will discuss hacking the boolean primitive datatype.
-> Click HERE to read the FREE ebook.
In this lesson we will discuss the float primitive datatype.
-> Click HERE to read the FREE ebook.
In this lesson we will discuss debugging the float primitive datatype.
-> Click HERE to read the FREE ebook.
In this lesson we will discuss hacking the float primitive datatype.
-> Click HERE to read the FREE ebook.
In this lesson we will discuss the double primitive datatype.
-> Click HERE to read the FREE ebook.
In this lesson we will discuss debugging the double primitive datatype.
-> Click HERE to read the FREE ebook.
In this lesson we will discuss hacking the double primitive datatype.
-> Click HERE to read the FREE ebook.
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.
In this lesson we will discuss the basic Hello World program.
-> Click HERE to read the FREE ebook.
In this lesson we will discuss debugging the basic Hello World program.
-> Click HERE to read the FREE ebook.
In this lesson we will discuss hacking the basic Hello World program.
-> Click HERE to read the FREE ebook.
In this lesson we will discuss the char data type.
-> Click HERE to read the FREE ebook.
In this lesson we will discuss debugging the char data type.
-> Click HERE to read the FREE ebook.
In this lesson we will discuss hacking the char data type.
-> Click HERE to read the FREE ebook.
In this lesson we will discuss the int data type.
-> Click HERE to read the FREE ebook.
In this lesson we will discuss debugging the int data type.
-> Click HERE to read the FREE ebook.
In this lesson we will discuss hacking the int data type.
-> Click HERE to read the FREE ebook.
In this lesson we will discuss the float data type.
-> Click HERE to read the FREE ebook.
In this lesson we will discuss debugging the float data type.
-> Click HERE to read the FREE ebook.
In this lesson we will discuss hacking the float data type.
-> Click HERE to read the FREE ebook.
In this lesson we will discuss the double data type.
-> Click HERE to read the FREE ebook.
In this lesson we will discuss debugging the double data type.
-> Click HERE to read the FREE ebook.
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.
In this lesson we will discuss creating an effective input architecture.
-> Click HERE to read the FREE ebook.
In this lesson we will discuss debugging input.
-> Click HERE to read the FREE ebook.
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.
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.
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.
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.
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.
This chapter covers reviewing the Windows API CreateDirectoryW and RemoveDirectoryW functions in C.
-> Click HERE to read the FREE pdf book.
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.
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.
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.
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.
This chapter covers reviewing the Windows API CopyFileW function in C.
-> Click HERE to read the FREE pdf book.
This chapter covers dynamic reverse engineering analysis, debugging, the Windows API CopyFileW function in x86 Assembly.
-> Click HERE to read the FREE pdf book.
This chapter covers dynamic reverse engineering analysis, hacking, the Windows API CopyFileW function in x86 Assembly.
-> Click HERE to read the FREE pdf book.
This chapter covers dynamic reverse engineering analysis, debugging, the Windows API CopyFileW function in x64 Assembly.
-> Click HERE to read the FREE pdf book.
This chapter covers dynamic reverse engineering analysis, hacking, the Windows API CopyFileW function in x64 Assembly.
-> Click HERE to read the FREE pdf book.
This chapter covers reviewing the Windows API MoveFileW function in C.
-> Click HERE to read the FREE pdf book.
This chapter covers dynamic reverse engineering analysis, debugging, the Windows API MoveFileW function in x86 Assembly.
-> Click HERE to read the FREE pdf book.
This chapter covers dynamic reverse engineering analysis, hacking, the Windows API MoveFileW function in x86 Assembly.
-> Click HERE to read the FREE pdf book.
This chapter covers dynamic reverse engineering analysis, debugging, the Windows API MoveFileW function in x64 Assembly.
-> Click HERE to read the FREE pdf book.
This chapter covers dynamic reverse engineering analysis, hacking, the Windows API MoveFileW function in x64 Assembly.
-> Click HERE to read the FREE pdf book.
This chapter covers reviewing the Windows API CreateFileW function in C.
-> Click HERE to read the FREE pdf book.
This chapter covers dynamic reverse engineering analysis, debugging, the Windows API CreateFileW function in x86 Assembly.
-> Click HERE to read the FREE pdf book.
This chapter covers dynamic reverse engineering analysis, hacking, the Windows API CreateFileW function in x86 Assembly.
-> Click HERE to read the FREE pdf book.
This chapter covers dynamic reverse engineering analysis, hacking, the Windows API CreateFileW function in x64 Assembly.
-> Click HERE to read the FREE pdf book.
This chapter covers dynamic reverse engineering analysis, hacking, the Windows API CreateFileW function in x64 Assembly.
-> Click HERE to read the FREE pdf book.
This chapter covers reviewing the Windows API WriteFile function in C.
-> Click HERE to read the FREE pdf book.
This chapter covers dynamic reverse engineering analysis, debugging, the Windows API WriteFile function in x86 Assembly.
-> Click HERE to read the FREE pdf book.
This chapter covers dynamic reverse engineering analysis, hacking, the Windows API WriteFile function in x86 Assembly.
-> Click HERE to read the FREE pdf book.
This chapter covers dynamic reverse engineering analysis, debugging, the Windows API WriteFile function in x64 Assembly.
-> Click HERE to read the FREE pdf book.
This chapter covers dynamic reverse engineering analysis, hacking, the Windows API WriteFile function in x64 Assembly.
-> Click HERE to read the FREE pdf book.
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.
This chapter covers debugging of the basic hello world style Go program for the x64 architecture.
-> Click HERE to read the FREE pdf book.
This chapter covers hacking of the basic hello world style Go program for the x64 architecture.
-> Click HERE to read the FREE pdf book.
This chapter covers Golang primitive types for the x64 architecture.
-> Click HERE to read the FREE pdf book.
This chapter covers Golang debugging of the primitive types for the x64 architecture.
-> Click HERE to read the FREE pdf book.
This chapter covers Golang hacking of the primitive types for the x64 architecture.
-> Click HERE to read the FREE pdf book.
This chapter covers Golang control flow for the x64 architecture.
-> Click HERE to read the FREE pdf book.
This chapter covers Golang debugging control flow for the x64 architecture.
-> Click HERE to read the FREE pdf book.
This chapter covers Golang hacking control flow for the x64 architecture.
-> Click HERE to read the FREE pdf book.
This chapter covers Golang advanced control flow for the x64 architecture.
-> Click HERE to read the FREE pdf book.
This chapter covers Golang debugging advanced control flow for the x64 architecture.
-> Click HERE to read the FREE pdf book.
This chapter covers Golang hacking advanced control flow for the x64 architecture.
-> Click HERE to read the FREE pdf book.
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.
This chapter covers debugging the basic hello world style Rust program for the x64 architecture.
-> Click HERE to read the FREE pdf book.
This chapter covers hacking the basic hello world style Rust program for the x64 architecture.
-> Click HERE to read the FREE pdf book.
This chapter covers scalar data types within a Rust program for the x64 architecture.
-> Click HERE to read the FREE pdf book.
This chapter covers debugging scalar data types within a Rust program for the x64 architecture.
-> Click HERE to read the FREE pdf book.
This chapter covers hacking scalar data types within a Rust program for the x64 architecture.
-> Click HERE to read the FREE pdf book.
This chapter covers compound data types within a Rust program for the x64 architecture.
-> Click HERE to read the FREE pdf book.
This chapter covers debugging compound data types within a Rust program for the x64 architecture.
-> Click HERE to read the FREE pdf book.
This chapter covers hacking compound data types within a Rust program for the x64 architecture.
-> Click HERE to read the FREE pdf book.
This chapter covers functions within a Rust program for the x64 architecture.
-> Click HERE to read the FREE pdf book.
This chapter covers debugging functions within a Rust program for the x64 architecture.
-> Click HERE to read the FREE pdf book.
This chapter covers hacking functions within a Rust program for the x64 architecture.
-> Click HERE to read the FREE pdf book.
This chapter covers control flow within a Rust program for the x64 architecture.
-> Click HERE to read the FREE pdf book.
This chapter covers debugging control flow within a Rust program for the x64 architecture.
-> Click HERE to read the FREE pdf book.
This chapter covers hacking control flow within a Rust program for the x64 architecture.
-> Click HERE to read the FREE pdf book.
This chapter covers the basics of setting up wiring for an embedded Rust Pico.
-> Click HERE to read the FREE pdf book.
This chapter covers the features of Reverse Engineering Rust Pico.
-> Click HERE to read the FREE pdf book.
This chapter covers the project structure of Reverse Engineering Rust Pico.
-> Click HERE to read the FREE pdf book.
This chapter covers the project step-by-step of Reverse Engineering Rust Pico.
-> Click HERE to read the FREE pdf book.
This chapter covers the project step-by-step enqueue/dequeue of Reverse Engineering Rust Pico.
-> Click HERE to read the FREE pdf book.
This chapter covers the project step-by-step of building and flashing Reverse Engineering Rust Pico.
-> Click HERE to read the FREE pdf book.
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.
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.
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.
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.
This chapter covers the basics of the STM32F401CCU6 architecture.
-> Click HERE to read the FREE pdf book.
This chapter covers the concept and development of the vector table within the STM32F401CCU6 architecture.
-> Click HERE to read the FREE pdf book.
This chapter covers the linker script concept and development within the STM32F401CCU6 architecture.
-> Click HERE to read the FREE pdf book.
This chapter covers ELF file analysis and tools within the STM32F401CCU6 architecture.
-> Click HERE to read the FREE pdf book.
This chapter covers the ARM Cortex-M registers within the STM32F401CCU6 architecture.
-> Click HERE to read the FREE pdf book.
This chapter covers the ARM Thumb2 instruction set within the STM32F401CCU6 architecture.
-> Click HERE to read the FREE pdf book.
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.
This chapter covers the basic constants & literal value examples within the STM32F401CCU6 architecture.
-> Click HERE to read the FREE pdf book.
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.
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.
This chapter covers the debugging of our firmware for the Pico 2 MCU hello, world program.
-> Click HERE to read the FREE pdf book.
This chapter covers the hacking of our firmware for the Pico 2 MCU hello, world program.
-> Click HERE to read the FREE pdf book.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
This chapter covers the basics Ohm's Law and basic electronics.
-> Click HERE to read the FREE pdf book.
This chapter covers the basics of the binary number system.
-> Click HERE to read the FREE pdf book.
This chapter covers the basics of the hexadecimal number system.
-> Click HERE to read the FREE pdf book.
This chapter covers the basics of the ATmega328P Architecture.
-> Click HERE to read the FREE pdf book.
This chapter covers the basics of setting up a toolchain and development environment.
-> Click HERE to read the FREE pdf book.
This chapter covers the basics of the ATmega328P datasheet.
-> Click HERE to read the FREE pdf book.
This chapter covers the development and reverse engineering of a blink driver in AVR C.
-> Click HERE to read the FREE pdf book.
This chapter covers the development of a blink driver in AVR Assembler.
-> Click HERE to read the FREE pdf book.
This chapter covers the development and reverse engineering of an IO driver in C.
-> Click HERE to read the FREE pdf book.
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.
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.
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.
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.
This chapter covers the basics of binary numbers and their general application for embedded systems.
-> Click HERE to read the FREE pdf book.
This chapter covers the basics of hexadecimal numbers and their general application for embedded systems.
-> Click HERE to read the FREE pdf book.
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.
This chapter covers the registers for the RISC-V ESP32-C3.
-> Click HERE to read the FREE pdf book.
This chapter covers how to add within the RISC-V ESP32-C3.
-> Click HERE to read the FREE pdf book.
This chapter covers how to debug add within the RISC-V ESP32-C3.
-> Click HERE to read the FREE pdf book.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
