# mem_malloc **Repository Path**: logzig/mem_malloc ## Basic Information - **Project Name**: mem_malloc - **Description**: 应用于单片机内存管理模块mem_malloc,这个mem_malloc的使用不会产生内存碎片,可以高效利用单片机ram空间。来源:https://github.com/chenqy2018/mem_malloc - **Primary Language**: C - **License**: Not specified - **Default Branch**: master - **Homepage**: https://github.com/chenqy2018/mem_malloc - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 2 - **Created**: 2022-11-07 - **Last Updated**: 2022-11-07 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # mem_malloc $ cd cqy_malloc $ make $ ./test ``` ------------mem_info-------------- sizeof(mem_block)=12 MEM_START = 134525056(0x804b080) MEM_END = 134525184(0x804b100) MEM_SIZE = 128(0x80) ---------------------------------- ------test_malloc------- p = 0x804b0f6, i=1, id=1, size=10 f6 b0 04 08 0a 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 01 01 01 01 01 01 01 01 01 ------test_malloc------- p = 0x804b0ee, i=2, id=2, size=8 f6 b0 04 08 0a 00 00 00 01 00 00 00 ee b0 04 08 08 00 00 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 02 02 02 02 02 02 02 01 01 01 01 01 01 01 01 01 01 ------test_malloc------- p = 0x804b0da, i=3, id=3, size=20 f6 b0 04 08 0a 00 00 00 01 00 00 00 ee b0 04 08 08 00 00 00 02 00 00 00 da b0 04 08 14 00 00 00 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 02 02 02 02 02 02 02 02 01 01 01 01 01 01 01 01 01 01 ------test_free------- i=2, id = 2 f6 b0 04 08 0a 00 00 00 01 00 00 00 e2 b0 04 08 14 00 00 00 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 01 01 01 01 01 01 01 01 01 01 ------test_malloc------- p = 0x804b0d8, i=4, id=4, size=10 f6 b0 04 08 0a 00 00 00 01 00 00 00 e2 b0 04 08 14 00 00 00 03 00 00 00 d8 b0 04 08 0a 00 00 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 04 04 04 04 04 04 04 04 04 04 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 01 01 01 01 01 01 01 01 01 01 ------test_free------- i=1, id = 1 ec b0 04 08 14 00 00 00 03 00 00 00 e2 b0 04 08 0a 00 00 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 04 04 04 04 04 04 04 04 04 04 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 ------test_malloc------- p = 0x804b0ce, i=5, id=5, size=20 ec b0 04 08 14 00 00 00 03 00 00 00 e2 b0 04 08 0a 00 00 00 04 00 00 00 ce b0 04 08 14 00 00 00 05 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 04 04 04 04 04 04 04 04 04 04 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 ------test_malloc------- p = 0x804b0c4, i=6, id=6, size=10 ec b0 04 08 14 00 00 00 03 00 00 00 e2 b0 04 08 0a 00 00 00 04 00 00 00 ce b0 04 08 14 00 00 00 05 00 00 00 c4 b0 04 08 0a 00 00 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 06 06 06 06 06 06 06 06 06 06 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 04 04 04 04 04 04 04 04 04 04 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 ------test_malloc------- malloc --- fail size=10 ec b0 04 08 14 00 00 00 03 00 00 00 e2 b0 04 08 0a 00 00 00 04 00 00 00 ce b0 04 08 14 00 00 00 05 00 00 00 c4 b0 04 08 0a 00 00 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 06 06 06 06 06 06 06 06 06 06 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 04 04 04 04 04 04 04 04 04 04 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 ------test_free------- i=6, id = 6 ec b0 04 08 14 00 00 00 03 00 00 00 e2 b0 04 08 0a 00 00 00 04 00 00 00 ce b0 04 08 14 00 00 00 05 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 04 04 04 04 04 04 04 04 04 04 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 ------test_malloc------- p = 0x804b0c1, i=8, id=6, size=13 ec b0 04 08 14 00 00 00 03 00 00 00 e2 b0 04 08 0a 00 00 00 04 00 00 00 ce b0 04 08 14 00 00 00 05 00 00 00 c1 b0 04 08 0d 00 00 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 08 08 08 08 08 08 08 08 08 08 08 08 08 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 05 04 04 04 04 04 04 04 04 04 04 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 ------test_buffer------- i=5, id = 5, size=20 ec b0 04 08 14 00 00 00 03 00 00 00 e2 b0 04 08 0a 00 00 00 04 00 00 00 ce b0 04 08 14 00 00 00 05 00 00 00 c1 b0 04 08 0d 00 00 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 08 08 08 08 08 08 08 08 08 08 08 08 08 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 04 04 04 04 04 04 04 04 04 04 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 ------test_free------- i=4, id = 4 ec b0 04 08 14 00 00 00 03 00 00 00 d8 b0 04 08 14 00 00 00 05 00 00 00 cb b0 04 08 0d 00 00 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 08 08 08 08 08 08 08 08 08 08 08 08 08 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 ------test_buffer------- i=3, id = 3, size=20 ec b0 04 08 14 00 00 00 03 00 00 00 d8 b0 04 08 14 00 00 00 05 00 00 00 cb b0 04 08 0d 00 00 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 08 08 08 08 08 08 08 08 08 08 08 08 08 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 ------test_malloc------- p = 0x804b0bc, i=9, id=7, size=15 ec b0 04 08 14 00 00 00 03 00 00 00 d8 b0 04 08 14 00 00 00 05 00 00 00 cb b0 04 08 0d 00 00 00 06 00 00 00 bc b0 04 08 0f 00 00 00 07 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 08 08 08 08 08 08 08 08 08 08 08 08 08 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 ------test_malloc------- malloc --- fail size=15 ec b0 04 08 14 00 00 00 03 00 00 00 d8 b0 04 08 14 00 00 00 05 00 00 00 cb b0 04 08 0d 00 00 00 06 00 00 00 bc b0 04 08 0f 00 00 00 07 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 08 08 08 08 08 08 08 08 08 08 08 08 08 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 ------test_realloc------- i=3, id = 3, size=10 f6 b0 04 08 0a 00 00 00 03 00 00 00 e2 b0 04 08 14 00 00 00 05 00 00 00 d5 b0 04 08 0d 00 00 00 06 00 00 00 c6 b0 04 08 0f 00 00 00 07 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 08 08 08 08 08 08 08 08 08 08 08 08 08 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 a3 a3 a3 a3 a3 a3 a3 a3 a3 a3 ------test_realloc------- i=8, id = 6, size=15 -----ok----- f6 b0 04 08 0a 00 00 00 03 00 00 00 e2 b0 04 08 14 00 00 00 05 00 00 00 d3 b0 04 08 0f 00 00 00 06 00 00 00 c4 b0 04 08 0f 00 00 00 07 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 a8 a8 a8 a8 a8 a8 a8 a8 a8 a8 a8 a8 a8 a8 a8 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 a3 a3 a3 a3 a3 a3 a3 a3 a3 a3 ------test_realloc------- i=5, id = 5, size=30 -----ok----- f6 b0 04 08 0a 00 00 00 03 00 00 00 d8 b0 04 08 1e 00 00 00 05 00 00 00 c9 b0 04 08 0f 00 00 00 06 00 00 00 ba b0 04 08 0f 00 00 00 07 00 00 00 00 00 00 00 00 00 00 00 00 00 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 a8 a8 a8 a8 a8 a8 a8 a8 a8 a8 a8 a8 a8 a8 a8 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a3 a3 a3 a3 a3 a3 a3 a3 a3 a3 ------test_realloc------- i=8, id = 6, size=20 -----ok----- f6 b0 04 08 0a 00 00 00 03 00 00 00 d8 b0 04 08 1e 00 00 00 05 00 00 00 c4 b0 04 08 14 00 00 00 06 00 00 00 b5 b0 04 08 0f 00 00 00 07 00 00 00 00 00 00 00 00 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 a8 a8 a8 a8 a8 a8 a8 a8 a8 a8 a8 a8 a8 a8 a8 a8 a8 a8 a8 a8 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a3 a3 a3 a3 a3 a3 a3 a3 a3 a3 ------test_realloc------- i=9, id = 7, size=20 -----ok----- f6 b0 04 08 0a 00 00 00 03 00 00 00 d8 b0 04 08 1e 00 00 00 05 00 00 00 c4 b0 04 08 14 00 00 00 06 00 00 00 b0 b0 04 08 14 00 00 00 07 00 00 00 a9 a9 a9 a9 a9 a9 a9 a9 a9 a9 a9 a9 a9 a9 a9 a9 a9 a9 a9 a9 a8 a8 a8 a8 a8 a8 a8 a8 a8 a8 a8 a8 a8 a8 a8 a8 a8 a8 a8 a8 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a3 a3 a3 a3 a3 a3 a3 a3 a3 a3 ------test_realloc------- i=9, id = 7, size=13 f6 b0 04 08 0a 00 00 00 03 00 00 00 d8 b0 04 08 1e 00 00 00 05 00 00 00 c4 b0 04 08 14 00 00 00 06 00 00 00 b7 b0 04 08 0d 00 00 00 07 00 00 00 00 00 00 00 00 00 00 a9 a9 a9 a9 a9 a9 a9 a9 a9 a9 a9 a9 a9 a8 a8 a8 a8 a8 a8 a8 a8 a8 a8 a8 a8 a8 a8 a8 a8 a8 a8 a8 a8 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a3 a3 a3 a3 a3 a3 a3 a3 a3 a3 ------test_free------- i=0, id = 0 ------test_free------- i=1, id = 1 ------test_free------- i=2, id = 2 ------test_free------- i=3, id = 3 e2 b0 04 08 1e 00 00 00 05 00 00 00 ce b0 04 08 14 00 00 00 06 00 00 00 c1 b0 04 08 0d 00 00 00 07 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 a9 a9 a9 a9 a9 a9 a9 a9 a9 a9 a9 a9 a9 a8 a8 a8 a8 a8 a8 a8 a8 a8 a8 a8 a8 a8 a8 a8 a8 a8 a8 a8 a8 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 ------test_free------- i=4, id = 4 ------test_free------- i=5, id = 5 ec b0 04 08 14 00 00 00 06 00 00 00 df b0 04 08 0d 00 00 00 07 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 a9 a9 a9 a9 a9 a9 a9 a9 a9 a9 a9 a9 a9 a8 a8 a8 a8 a8 a8 a8 a8 a8 a8 a8 a8 a8 a8 a8 a8 a8 a8 a8 a8 ------test_free------- i=6, id = 6 f3 b0 04 08 0d 00 00 00 07 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 a9 a9 a9 a9 a9 a9 a9 a9 a9 a9 a9 a9 a9 ------test_free------- i=7, id = 0 ------test_free------- i=8, id = 6 ------test_free------- i=9, id = 7 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ```