Commit Graph

77 Commits

Author SHA1 Message Date
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