size_schema.json 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167
  1. {
  2. "$schema": "http://json-schema.org/draft-07/schema#",
  3. "$id": "https://github.com/espressif/esp-idf/blob/master/tools/size-schema.json",
  4. "type": "object",
  5. "oneOf": [
  6. {
  7. "patternProperties": {
  8. "^dram_(data|bss|rodata|other|remain|total)$": {
  9. "type": "integer"
  10. },
  11. "^used_(dram|iram|diram|flash_non_ram)$": {
  12. "type": "integer"
  13. },
  14. "^used_(dram|iram|diram)_ratio$": {
  15. "type": "number"
  16. },
  17. "^iram_(vectors|text|other|remain|total)$": {
  18. "type": "integer"
  19. },
  20. "^diram_(data|bss|rodata|vectors|text|other|remain|total)$": {
  21. "type": "integer"
  22. },
  23. "^flash_(code|rodata|other)$": {
  24. "type": "integer"
  25. },
  26. "^total_size$": {
  27. "type": "integer"
  28. }
  29. },
  30. "additionalProperties": false,
  31. "required": [
  32. "dram_data",
  33. "dram_bss",
  34. "dram_rodata",
  35. "dram_other",
  36. "used_dram",
  37. "dram_total",
  38. "used_dram_ratio",
  39. "dram_remain",
  40. "iram_vectors",
  41. "iram_text",
  42. "iram_other",
  43. "used_iram",
  44. "iram_total",
  45. "used_iram_ratio",
  46. "iram_remain",
  47. "diram_data",
  48. "diram_bss",
  49. "diram_text",
  50. "diram_vectors",
  51. "diram_rodata",
  52. "diram_other",
  53. "diram_total",
  54. "used_diram",
  55. "used_diram_ratio",
  56. "diram_remain",
  57. "flash_code",
  58. "flash_rodata",
  59. "flash_other",
  60. "used_flash_non_ram",
  61. "total_size"
  62. ]
  63. },
  64. {
  65. "patternProperties": {
  66. "(\\.a$|\\.o$|\\.obj$|exe)": {
  67. "$ref": "#/$defs/memory_components"
  68. }
  69. },
  70. "additionalProperties": false
  71. },
  72. {
  73. "patternProperties": {
  74. "(^\\.dram0\\.(bss|data)$)": {
  75. "$ref": "#/$defs/archive_details"
  76. },
  77. "(^\\.flash\\.(rodata|text|appdesc|rodata_noload)$)": {
  78. "$ref": "#/$defs/archive_details"
  79. },
  80. "(^\\.flash_rodata_dummy$)": {
  81. "$ref": "#/$defs/archive_details"
  82. },
  83. "(^\\.iram0\\.(text|vectors|text_end|bss|data)$)": {
  84. "$ref": "#/$defs/archive_details"
  85. },
  86. "(^\\.rtc\\.(bss|data|text)$)": {
  87. "$ref": "#/$defs/archive_details"
  88. },
  89. "(^\\.noinit$)": {
  90. "$ref": "#/$defs/archive_details"
  91. },
  92. "(^\\.rtc_noinit$)": {
  93. "$ref": "#/$defs/archive_details"
  94. }
  95. },
  96. "additionalProperties": false,
  97. "required": [
  98. ".dram0.bss",
  99. ".dram0.data",
  100. ".flash.rodata",
  101. ".flash.text",
  102. ".iram0.text",
  103. ".noinit",
  104. ".rtc.bss",
  105. ".rtc.data",
  106. ".rtc.text",
  107. ".rtc_noinit"
  108. ]
  109. },
  110. {
  111. "patternProperties": {
  112. "(^diff$|^reference$|^current$)": {
  113. "$ref": "#"
  114. }
  115. },
  116. "additionalProperties": false
  117. }
  118. ],
  119. "$defs": {
  120. "memory_components": {
  121. "type": "object",
  122. "properties": {
  123. ".dram0.bss": {
  124. "type": "integer"
  125. },
  126. ".dram0.data": {
  127. "type": "integer"
  128. },
  129. ".flash.rodata": {
  130. "type": "integer"
  131. },
  132. ".flash.text": {
  133. "type": "integer"
  134. },
  135. ".flash.appdesc": {
  136. "type": "integer"
  137. },
  138. ".iram0.text": {
  139. "type": "integer"
  140. },
  141. ".iram0.vectors": {
  142. "type": "integer"
  143. },
  144. ".rtc.data": {
  145. "type": "integer"
  146. },
  147. "flash_total": {
  148. "type": "integer"
  149. },
  150. "ram_st_total": {
  151. "type": "integer"
  152. }
  153. },
  154. "additionalProperties": false,
  155. "required": [
  156. "flash_total",
  157. "ram_st_total"
  158. ]
  159. },
  160. "archive_details": {
  161. "type": "object",
  162. "additionalProperties": {
  163. "type": "integer"
  164. }
  165. }
  166. }
  167. }