size_schema.json 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164
  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. "(^\\.iram0\\.(text|vectors|bss|data)$)": {
  81. "$ref": "#/$defs/archive_details"
  82. },
  83. "(^\\.rtc\\.(bss|data|text)$)": {
  84. "$ref": "#/$defs/archive_details"
  85. },
  86. "(^\\.noinit$)": {
  87. "$ref": "#/$defs/archive_details"
  88. },
  89. "(^\\.rtc_noinit$)": {
  90. "$ref": "#/$defs/archive_details"
  91. }
  92. },
  93. "additionalProperties": false,
  94. "required": [
  95. ".dram0.bss",
  96. ".dram0.data",
  97. ".flash.rodata",
  98. ".flash.text",
  99. ".iram0.text",
  100. ".noinit",
  101. ".rtc.bss",
  102. ".rtc.data",
  103. ".rtc.text",
  104. ".rtc_noinit"
  105. ]
  106. },
  107. {
  108. "patternProperties": {
  109. "(^diff$|^reference$|^current$)": {
  110. "$ref": "#"
  111. }
  112. },
  113. "additionalProperties": false
  114. }
  115. ],
  116. "$defs": {
  117. "memory_components": {
  118. "type": "object",
  119. "properties": {
  120. ".dram0.bss": {
  121. "type": "integer"
  122. },
  123. ".dram0.data": {
  124. "type": "integer"
  125. },
  126. ".flash.rodata": {
  127. "type": "integer"
  128. },
  129. ".flash.text": {
  130. "type": "integer"
  131. },
  132. ".flash.appdesc": {
  133. "type": "integer"
  134. },
  135. ".iram0.text": {
  136. "type": "integer"
  137. },
  138. ".iram0.vectors": {
  139. "type": "integer"
  140. },
  141. ".rtc.data": {
  142. "type": "integer"
  143. },
  144. "flash_total": {
  145. "type": "integer"
  146. },
  147. "ram_st_total": {
  148. "type": "integer"
  149. }
  150. },
  151. "additionalProperties": false,
  152. "required": [
  153. "flash_total",
  154. "ram_st_total"
  155. ]
  156. },
  157. "archive_details": {
  158. "type": "object",
  159. "additionalProperties": {
  160. "type": "integer"
  161. }
  162. }
  163. }
  164. }