Dan Banta
905c764f92
fix: add paths to zon file ( #112 )
2023-12-13 12:24:17 -08:00
Matt Knight
0df603ec00
Allow for regz to be used as a module ( #116 )
2023-11-21 19:41:15 -08:00
Jacob Young
d66ffd56f5
Implement various adtf
features needed on ARM ( #115 )
...
* Fix test step not running tests
* Fix `error.Todo` causing a crash while outputting json
* Cleanup `@as` usage
* Implement count attribute for registers
* Add ad-hoc alignment to support an initial reserved region.
* Implement register group instances
* Add `build.zig.zon` paths
2023-11-20 00:28:21 -08:00
Matt Knight
838a604ece
Update README.md
2023-11-19 13:13:57 -08:00
Matt Knight
39c2a69d86
target 0.11.0 on CI ( #114 )
2023-11-19 13:12:29 -08:00
Matt Knight
b0ded63fc2
Don't specify preferred optimize ( #111 )
2023-08-06 10:05:54 -07:00
Matt Knight
20b744499e
Remove vestigial invocation of git rev-parse ( #110 )
2023-08-06 09:10:48 -07:00
Matt Knight
334636332e
use newer libxml2 package ( #109 )
2023-08-05 09:54:27 -07:00
KATO Jinnosuke
24d696c453
update clap & libxml2 ( #108 )
...
* update to zig-clap for zig 0.11.0
* update zig-libxml2 for zig 0.11.0
2023-08-05 09:26:26 -07:00
Ben Crist
ca35146242
Fixes for changes in std.json API ( #107 )
2023-07-30 22:24:15 -07:00
Matt Knight
262cee72ca
builtin type inference fix ( #106 )
2023-06-27 21:00:20 -07:00
Matt Knight
41f7cb1f85
Package clap using official package manager ( #105 )
2023-06-22 21:59:07 -07:00
Matt Knight
9352fb8b81
update sort api ( #103 )
2023-05-26 12:53:58 -07:00
Nicolas Goy
efeeb945d5
Fix compilation with latest zig master ( #102 )
2023-05-18 20:52:10 -07:00
Matt Knight
cf59532329
update libxml2 ( #101 )
2023-04-21 23:06:42 -07:00
Matt Knight
b7ff552e49
update build api ( #99 )
2023-04-13 09:41:00 -07:00
Matt Knight
1513b4bcd1
handle additional %s case for register names in SVD ( #97 )
2023-03-02 00:43:23 -08:00
Matt Knight
e16ce72a71
don't generate system registers ( #96 )
...
* don't generate system registers
* handle missing cpu name
2023-03-02 00:32:21 -08:00
Matt Knight
3adee9567c
use new for loops over iterators ( #95 )
...
* use new for loops over iterators
* run github actions on every push
2023-02-28 19:55:37 -08:00
Matt Knight
409cc4a4e9
Snake case ( #94 )
...
* wip
* converted functions to snake case
2023-02-24 08:25:36 -08:00
Matt Knight
71584eccd5
new for loop syntax ( #93 )
2023-02-22 07:18:35 -08:00
Paul
cb5fb2eb6f
Update README.md ( #92 )
2023-02-19 13:24:01 -05:00
Matt Knight
3e645bcf91
getMode() now generated as get_mode() ( #90 )
2023-02-16 07:32:40 -05:00
Matt Knight
a42caf4909
update json tree api ( #89 )
...
* update json tree api
* sneak in namespacing of types into peripherals, registers, etc
* fix cache api usage, later try cache invalidation
2023-02-16 03:38:17 -05:00
Matt Knight
73a69a7102
catch up to zig modules ( #88 )
2023-02-12 19:01:31 +02:00
Jacob Peters
d1d3072530
Add core registers for Cortex M0 and M0+ ( #86 )
...
* Refactored core register functions
Most of this was just renaming function calls
* More refactoring
* Added calls to the core register functions
* Return error on missing NvicPrioBits
* Added function to check the value of vendor _systick_config
This should work but it is a bit brittle.
If vendorSystickConfig isn't lowercase for false it will return true
* Add extra check for vendor_systick_config
* fix formatting
2023-02-12 10:15:52 +02:00
Matt Knight
04252fb0a5
SVD: peripheral derivation ( #84 )
...
* SVD: peripheral derivation
2023-02-04 18:00:39 +01:00
Matt Knight
ea296027b7
Fix build api breaks and morale ( #85 )
...
* fix build api breaks
* fix ci
* zig parser api update
2023-02-04 17:52:53 +01:00
Eckhart Köppen
345b152ed5
Add all interrupts for a peripheral ( #81 )
2023-01-30 00:40:42 +01:00
Matt Knight
2cc572fc23
initial vector table support for arm ( #80 )
...
When parsing ATDF or SVD files, seed the interrupts with known exception handlers for different architectures.
2023-01-11 23:17:32 -08:00
Matt Knight
44c71ed2a4
regzon ( #79 )
...
regzon is the name for the json output for reg'z data model. This PR includes a number of tests for serialization and deserialization. The intention of this format is to provide an accessible format for tooling, and to provide a medium for schema patching. Rather than errata, patching can be utilized to improve codegen such as type deduplication.
This format is subject to change.
2023-01-11 21:31:21 -08:00
Matt Knight
15b4cc6a8a
svd field array ( #77 )
2023-01-08 01:23:49 -08:00
Matt Knight
d1b184309b
omit [%s] suffix for svd ( #76 )
2023-01-07 15:41:23 -08:00
Matt Knight
2ffa9d8c56
packed structs can have an explicit backing integer ( #75 )
2023-01-07 01:22:17 -08:00
Matt Knight
0f4a3bd090
vector table generation for ATDF ( #74 )
2023-01-03 00:47:45 -08:00
Matt Knight
f360597c9b
enums in SVD are always children of peripherals ( #71 )
...
* enums in SVD are always children of peripherals
* make SVD enums anonymous for now
2022-12-31 18:15:43 -08:00
Matt Knight
94ae0d9040
fix mmio array codegen ( #72 )
2022-12-31 18:11:43 -08:00
Matt Knight
ba74670159
initial support for dimElementsGroup for SVD ( #70 )
2022-12-31 15:39:55 -08:00
Matt Knight
2f97be98ee
make distinct types for peripherals always ( #69 )
2022-12-31 15:14:55 -08:00
Matt Knight
06def19adb
Rearchitect Regz ( #63 )
2022-12-29 16:37:41 -08:00
Matt Knight
44d26b261f
Characterize ( #60 )
...
* rename ndjson, add new tool to characterize sets of xml files
* remove some debug logs
* add characterized register schemas
2022-11-09 00:29:19 -08:00
Matt Knight
008ebcdc93
A quick fix for ATDF codegen and register groups ( #59 )
...
* A quick fix for ATDF codegen and register groups
The current code was expecting register groups and peripherals to have a
1:1 ratio, however the register groups under `modules` are more like
templates which are used to instantiate peripherals. This does the
minimal amount of refactoring in order for this to work and unblock some
users.
* i386 -> x86 target name update
2022-11-08 00:01:45 -08:00
Matt Knight
62e33d0e21
upgrade dependencies ( #57 )
2022-09-24 09:56:28 -07:00
Ethan Frei
644b9d6f61
removing some used "unused" variables ( #55 )
2022-09-16 00:52:48 -07:00
Matt Knight
44da850fa4
add comptime for uses of ++ ( #53 )
...
* add comptime for uses of ++
* ptrCast instead of bitCast
* don't build i386 windows for now
2022-09-11 23:10:35 -07:00
Matt Knight
49cfd56838
fix ptrCast to intToPtr ( #50 )
2022-08-12 14:27:35 +00:00
Matt Knight
4b04e50cf1
update clap, fix logs of optional types ( #48 )
...
* update clap, fix logs of optional types
* rename empty test
2022-07-31 22:01:30 -07:00
Matt Knight
e9d4c6d338
update build badge
2022-07-23 08:09:08 -07:00
Matt Knight
df63121cf7
migrate linux builds to build kite ( #47 )
...
* see if it works
* add badge
* try grouping and matrix
* poke
* fix typo
* clean up
2022-07-23 08:01:40 -07:00
Matt Knight
7829f972da
add buildkite pipeline file ( #46 )
2022-07-20 18:48:12 -07:00