Skip to content
Draft
Show file tree
Hide file tree
Changes from 97 commits
Commits
Show all changes
100 commits
Select commit Hold shift + click to select a range
26e24e6
Added the armlib third-party dependency.
xianglin1998 Aug 1, 2026
1d7aed2
The bootrom performs hardware abstraction.
xianglin1998 Aug 1, 2026
6a9963e
Added cmdfpga for client.
xianglin1998 Aug 1, 2026
39fa235
Added cmd(fpga, antennal, qc...) for Proxmark5
xianglin1998 Aug 1, 2026
bb9c86f
Supplement logic comments to avoid misleading developers.
xianglin1998 Aug 1, 2026
45cc4e1
Abstract the flash.c to avoid hard coding that makes it impossible to…
xianglin1998 Aug 1, 2026
34eca2a
Make common_arm to hardware abstraction layer.
xianglin1998 Aug 1, 2026
3123651
Reuse the logic for checking version information.
xianglin1998 Aug 1, 2026
dbc459e
Rename the MOD to hitag_mod_t.
xianglin1998 Aug 1, 2026
a7c34ed
Fixed bug for RAMFUNC definition
xianglin1998 Aug 1, 2026
ac1292b
Added def: FORCE_INLINE & STATIC_FORCE_INLINE
xianglin1998 Aug 1, 2026
eaab387
Make VERSION_INFORMATION_MAGIC cross-platform.
xianglin1998 Aug 1, 2026
877c106
Separate the GPIO definitions of different platforms.
xianglin1998 Aug 1, 2026
f178b24
Added some cmd and struct definitions for proxmark5
xianglin1998 Aug 1, 2026
bb9e1da
Make proxmark3_arm.h more cross-platform.
xianglin1998 Aug 1, 2026
9f282c5
Make ldscript cross-platform.
xianglin1998 Aug 1, 2026
720d1fc
The source files for the unit tests of Proxmark5 have been added.
xianglin1998 Aug 1, 2026
a919a8e
CMake has been implemented to manage ARM projects.
xianglin1998 Aug 1, 2026
01560b8
Add the mkversion bat and ps1 implementation to the Windows platform …
xianglin1998 Aug 1, 2026
84bb334
Git does not manage project folders in IntelliJ IDEA.
xianglin1998 Aug 1, 2026
be213ef
Added utils for flash size get/convert.
xianglin1998 Aug 1, 2026
a48ce2c
Used HAL layer in utils
xianglin1998 Aug 1, 2026
f029b54
Used HAL layer in thinfilm.c
xianglin1998 Aug 1, 2026
380bacb
Run ConfigSystemClocks() & UnitTestMain() in start.c
xianglin1998 Aug 1, 2026
a79f6e7
Used HAL layer in start.c
xianglin1998 Aug 1, 2026
df6a167
Used HAL layer in secc & seos
xianglin1998 Aug 1, 2026
d203eea
Used HAL layer in sam_xxx
xianglin1998 Aug 1, 2026
ac76464
Used HAL layer in pcf7931.c
xianglin1998 Aug 1, 2026
0f1fadf
Used HAL layer in mifareutil.c
xianglin1998 Aug 1, 2026
c5295a9
Used HAL layer in mifaresniff_disabled.c
xianglin1998 Aug 1, 2026
86b2271
Used HAL layer in mifaresim.c
xianglin1998 Aug 1, 2026
7cdae55
Used HAL layer in mifaredesfire.c
xianglin1998 Aug 1, 2026
99845f5
Used HAL layer in mifarecmd.c
xianglin1998 Aug 1, 2026
79c8bf8
Used HAL layer in lfzx.c
xianglin1998 Aug 1, 2026
3820048
Used HAL layer in lfsampling.c
xianglin1998 Aug 1, 2026
0dff018
Used HAL layer in lfops.c(TI tag no finish yet)
xianglin1998 Aug 1, 2026
b5d71ad
Used HAL layer in lfadc.c(lf_count_edge_periods_ex() improved)
xianglin1998 Aug 1, 2026
26e002d
Used HAL layer in legicrfsim.c
xianglin1998 Aug 1, 2026
0a493a2
Used HAL layer in legicrf.c
xianglin1998 Aug 1, 2026
e629a9a
Used HAL layer in iso15693.c
xianglin1998 Aug 1, 2026
26821bc
Used HAL layer in iso14443b.c and fixed bug for st25
xianglin1998 Aug 1, 2026
5afc386
Strictly check the length of atqa.
xianglin1998 Aug 1, 2026
727dacf
Used HAL layer in iso14443a.c(Sniff no finish yet)
xianglin1998 Aug 1, 2026
9821695
Used HAL layer in iclass.c
xianglin1998 Aug 1, 2026
71f67cc
fpgaloader.h has been moved.
xianglin1998 Aug 1, 2026
597a1d6
Used HAL layer in i2c_direct.c
xianglin1998 Aug 1, 2026
52f8e85
Export I2C_BufferReadRaw() of i2c.c
xianglin1998 Aug 1, 2026
31e0d9a
Used HAL layer in i2c.c(Incomplete, continue to abstract.)
xianglin1998 Aug 1, 2026
d5dd8c5
Used HAL layer in hitagu.c
xianglin1998 Aug 1, 2026
3bdd64d
Used HAL layer in hitagS.c(Cross-platform implementation is incomplete.)
xianglin1998 Aug 1, 2026
191e688
Used HAL layer in hitag_common.c(Cross-platform implementation is inc…
xianglin1998 Aug 1, 2026
b8f22f2
Used HAL layer in hitag2.c
xianglin1998 Aug 1, 2026
b24289d
Used HAL layer in hfsnoop.c
xianglin1998 Aug 1, 2026
d2e6896
Used HAL layer in hfops.c
xianglin1998 Aug 1, 2026
0621793
Used HAL layer in felicasim.c
xianglin1998 Aug 1, 2026
f217b02
Used HAL layer in felica.c
xianglin1998 Aug 1, 2026
0dad75f
Used HAL layer in epa.c
xianglin1998 Aug 1, 2026
e7eff92
Used HAL layer in emvsim.c
xianglin1998 Aug 1, 2026
17ade98
Used HAL layer in em4x70.c
xianglin1998 Aug 1, 2026
54e0bd8
Used HAL layer in em4x50.c(Do not timeout--)
xianglin1998 Aug 1, 2026
b119dea
Used HAL layer in cmd.c and add some code for test CEP
xianglin1998 Aug 1, 2026
e97862b
Exported AvgAdc() and SumAdc() of appmain.c
xianglin1998 Aug 1, 2026
24f2569
Used HAL layer in appmain.c and cmd added.
xianglin1998 Aug 1, 2026
d2bb84e
Used HAL layer in Standalone all module
xianglin1998 Aug 1, 2026
9b49981
Add some *.cmake files.
xianglin1998 Aug 2, 2026
adbfbc1
Do not attach the bootrom project to the root CMakeLists.txt file for…
xianglin1998 Aug 2, 2026
6bfec75
Move all device descriptors from cdc_desc.c to usb_cdc_at32.c
xianglin1998 Aug 3, 2026
56b7198
Make armlib a static library so that bootrom and armsrc can be reused.
xianglin1998 Aug 3, 2026
d37a3e8
armlib does not require the compilation flag "PM5".
xianglin1998 Aug 3, 2026
ae92889
Hal.cmake has some things to do.
xianglin1998 Aug 3, 2026
bf37603
Make MKVersionScript.cmake more commonly used.
xianglin1998 Aug 3, 2026
95094dc
Before using CMake to build the bootrom, version_pm3.c will be genera…
xianglin1998 Aug 3, 2026
a106cb8
Fixed bug where CMake failed to compile the ARM firmware for PM3.
xianglin1998 Aug 3, 2026
c75f31d
Fixed unintended global export in commonutil.c, thx nieldk.
xianglin1998 Aug 3, 2026
5365a76
Fixed an issue where compiling armsrc using cmake would fail due to N…
xianglin1998 Aug 4, 2026
f72e62f
A CMake toolchain script specifically for compiling ARM firmware has …
xianglin1998 Aug 4, 2026
5272481
The bootrom is also output to the obj directory.
xianglin1998 Aug 4, 2026
b947ea5
Normalize path inclusion in CMakeLists.txt files, fix relative path n…
doegox Aug 4, 2026
7f4cb13
Normalize more path refs in CMakeLists.txt files
doegox Aug 4, 2026
4095974
Fix tools/mkversion.sh to follow new common_arm dir structure
doegox Aug 4, 2026
392f862
Fix compiler selection when building from bootrom/build or armsrc/build
doegox Aug 4, 2026
25de7c5
The HAL definition for PM5 has been added to Makefile.hal.
xianglin1998 Aug 4, 2026
8989e38
The makefile for armlib was added to compile it into a static library.
xianglin1998 Aug 4, 2026
9a1e2fb
armsrc depends on armlib when it is compiled.
xianglin1998 Aug 4, 2026
799d54f
A simple software reset is implemented to resolve the issue of PM5 po…
xianglin1998 Aug 6, 2026
d40588b
Moved startup_at32f435_437.s from armlib to armsrc
xianglin1998 Aug 6, 2026
538087f
Reuse platform-specific judgments as much as possible to reduce code …
xianglin1998 Aug 6, 2026
578ce9d
Modify Makefile.common to adapt to the new common_arm directory.
xianglin1998 Aug 6, 2026
ea55ad7
Make armsrc/makefile compatible with pm5 compilation.
xianglin1998 Aug 6, 2026
933bb21
Make bootrom/makefile compatible with pm5 compilation.
xianglin1998 Aug 6, 2026
3178389
Fixed an issue where compiling the client using CMake failed.
xianglin1998 Aug 6, 2026
6838a7b
experimental_lib: add missing cmdfpga.c
doegox Aug 6, 2026
7fb21bb
experimental_lib: add missing files introduced in 19cc98c53258b8528f5…
doegox Aug 6, 2026
5b6c7e9
Fixed a bug related to undefined references in I2C.
xianglin1998 Aug 6, 2026
8821efc
Migrated all standalone modes
xianglin1998 Aug 6, 2026
b60adfd
Merge remote-tracking branch 'origin/proxmark5' into proxmark5
xianglin1998 Aug 6, 2026
009c044
When specifying the compiler via parameters, armgcc is no longer sear…
xianglin1998 Aug 7, 2026
1fd94b4
Fix CodeQL warning on printf
doegox Aug 7, 2026
acd3ad6
Fix CodeQL warning about type mispatch in comparison
doegox Aug 7, 2026
a180d4d
Record all remarks related to Proxmark5 to Proxmark5.md
xianglin1998 Aug 7, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -121,6 +121,9 @@ fpga_version_info.c
!.vscode/extensions.json
!.vscode/tasks.json

# IDEA files
.idea/

# docs
!doc/*.json

Expand Down
23 changes: 23 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
cmake_minimum_required(VERSION 3.20)

# Option to build the firmware for the Proxmark3/5. This will include the armsrc and bootrom directories.
option(BUILD_FIRMWARE "Build the firmware for the Proxmark3/5" ON)

# If building for pm3 device, not client, the compiler will be arm-none-eabi-gcc, so the test program will not compile.
# This is a workaround to prevent CMake from trying to compile the test program,
# which will fail because the compiler is not for the host system.
if (BUILD_FIRMWARE)
include(${CMAKE_CURRENT_LIST_DIR}/tools/FixCompileTest.cmake)
include(${CMAKE_CURRENT_LIST_DIR}/tools/ToolchainForArm.cmake)
endif ()

# Project name and languages
project(Proxmark3 C CXX ASM)

# add subdirectories, which will contain their own CMakeLists.txt files
if (BUILD_FIRMWARE)
add_subdirectory(armsrc)
add_subdirectory(bootrom)
else ()
add_subdirectory(client)
endif ()
Loading
Loading