Commit Graph

1441 Commits

Author SHA1 Message Date
Jared Boone
71c7f543c5 JTAG: Add TAP state management.
Not all that happy with the implementation, but it's doing the job for now.
2016-07-17 15:44:30 -07:00
Jared Boone
c0f4fbe32d JTAG: Add GPIO definitions for HackRF CPLD. 2016-07-16 14:06:58 -07:00
Jared Boone
22143c9543 JTAG: Remove unused methods. 2016-07-13 11:02:13 -07:00
Jared Boone
18fe30136e JTAG: Move Target interface to separate header. 2016-07-11 09:39:02 -07:00
Jared Boone
6917ffe1e3 JTAG: Clean up definition of Target interface. 2016-07-11 09:16:47 -07:00
Jared Boone
2add96d42d CPLD: Add .svf output file so CMake can generate data for firmware. 2016-07-10 15:01:04 -07:00
Jared Boone
1cd5a1676c Ignore all CPLD output_files/ except *.svf. 2016-07-10 15:00:34 -07:00
Jared Boone
f296fcdc29 Fix wrong firmware URL posted to IRC by Travis-CI. 2016-07-10 13:58:17 -07:00
Jared Boone
ad4a68f90a CMake: Generate portapack_cpld_data.cpp from SVF via tool. 2016-07-05 12:45:31 -07:00
Jared Boone
7bcde54050 Tool for generating CPLD bitstreams in C++ arrays, from SVF file. 2016-07-05 12:33:15 -07:00
Jared Boone
740edc4d49 Remove PortaPack CPLD checksum display.
No point in calculating or showing, since full compare against desired bits is done at every startup -- way better than a CRC, and if it fails tries to program. If programming fails, the PortaPack panics and LED flashes.
2016-07-05 12:08:56 -07:00
Jared Boone
3ed1d9e24a CPLD: Method to calculate bitstream CRC32. 2016-07-05 12:06:51 -07:00
Jared Boone
df825807d6 CRC: Rearrange public methods to reduce user error.
If you can access process_bits() without considering RevIn value, you will likely not get the CRC value you're expecting! Put RevIn check where it belongs, in process_bits().
2016-07-05 11:57:57 -07:00
Jared Boone
db700b1beb Travis: Update to latest Launchpad ARM GCC release. 2016-07-05 09:58:38 -07:00
Jared Boone
42190b9587 CMake: Fix ldscript dependencies. 2016-07-03 18:48:39 -07:00
Jared Boone
0899c48735 Remove linker map generation, other unnecessary(?) flags. 2016-07-03 18:33:36 -07:00
Jared Boone
b6fe392512 CMake: Improve dependencies, how output files are managed/cleaned.
I almost think I understand CMake, now. Almost.
2016-07-03 18:32:50 -07:00
Jared Boone
45ca3cf7e6 CMake: reduce intermediate targets, add script dependencies. 2016-07-03 11:32:21 -07:00
Jared Boone
53434f3789 Fix Python2 string type error. 2016-07-02 18:15:39 -07:00
Jared Boone
f10eb77436 Travis CMake update shot in the dark... 2016-07-02 17:46:51 -07:00
Jared Boone
dacb94a189 Ask Travis-CI to update CMake version during builds. 2016-07-02 17:36:48 -07:00
Jared Boone
c52f5fa26c Expose static EventDispatcher to stop main loop.
Used to fix reboot into HackRF firmware.
2016-07-02 16:38:01 -07:00
Jared Boone
57293bc5eb Clear application message queue after baseband is shut down. 2016-07-02 16:19:41 -07:00
Jared Boone
30efa53956 Clear M4->M0 interrupt before M4 image is loaded.
...out of an abundance of caution.
2016-07-02 16:15:43 -07:00
Jared Boone
34e45412d1 Dumb baseband-running state tracking to ease use of baseband API. 2016-07-02 16:12:36 -07:00
Jared Boone
b2d5e47308 Clear baseband message at end of shutdown().
Allow baseband to shut down completely before shutdown message is acknowledged.
2016-07-02 16:02:50 -07:00
Jared Boone
dbd0c17c2f Clear baseband message for non-shutdown messages. 2016-07-02 16:02:03 -07:00
Jared Boone
eac4cf678a Capture M4 chDbgPanic msg, show in application. 2016-07-02 15:33:03 -07:00
Jared Boone
97ba19af24 Change M4 loader to use image tags.
Also finish moving HackRF binary to tagged image region.
2016-07-01 10:37:22 -07:00
Jared Boone
0e62876578 Add types for tagged data chunks in SPI flash. 2016-07-01 10:32:52 -07:00
Jared Boone
f683980052 Generate and append terminator chunk to basebands image. 2016-06-30 19:37:32 -07:00
Jared Boone
c3d81f1496 Add HackRF factory firmware to basebands image. 2016-06-30 19:37:05 -07:00
Jared Boone
61f954dbeb Tweak make_image_chunk to produce empty chunk when argc == 2. 2016-06-30 19:36:23 -07:00
Jared Boone
184eb9eb0d Utility to strip HackRF firmware DFU header. 2016-06-30 19:35:51 -07:00
Jared Boone
01833ccb83 Write all baseband binaries into tagged image file. 2016-06-30 16:45:41 -07:00
Jared Boone
946d45b31c Adjust Travis for CMake system. 2016-06-30 16:00:08 -07:00
Jared Boone
f4c897946b Add top-level CMake file. 2016-06-30 15:59:36 -07:00
Jared Boone
97760a2f9d Remove GNU Make files, now using CMake to build firmware. 2016-06-30 12:04:10 -07:00
Jared Boone
cf5ac441ae Add CMake firmware build system. 2016-06-30 12:02:43 -07:00
Jared Boone
500a651bcf Give Processors a run() function.
So main() can call it, start a Processor linked in to the baseband binary.
2016-06-30 11:53:58 -07:00
Jared Boone
1a5f3a4422 Give new Processor to EventDispatcher. 2016-06-25 11:14:28 -07:00
Jared Boone
525e72ac86 Move Baseband/RSSI threads into Processors. 2016-06-25 11:12:22 -07:00
Jared Boone
74c8429f75 Take processor as argument to BasebandThread.
Remove lots of dependency on specific processors.
Reduce state by removing processor switching from BasebandThread.
2016-06-25 10:57:16 -07:00
Jared Boone
bb32ef5321 Bracket BasebandThread loop with enable/disable code. 2016-06-25 10:53:16 -07:00
Jared Boone
9188bb9ee9 Remove thread pointer checking. 2016-06-24 15:46:53 -07:00
Jared Boone
f8a473d56b Change baseband, RSSI threads to be more RAII. 2016-06-24 15:34:49 -07:00
Jared Boone
2b7e763619 Don't check EventDispatcher::thread_event_loop before using.
If static methods are getting called, variable is already set.
2016-06-24 15:27:23 -07:00
Jared Boone
9444d21c12 Remove baseband stats tracking code.
It was half-baked, and is getting in the way of a major refactoring.
2016-06-24 15:24:26 -07:00
Jared Boone
d41c6ee36a Simplify app->baseband message handling.
No need for a FIFO when all messages are intended to be synchronous.
2016-06-24 14:16:45 -07:00
Jared Boone
61325e4696 Enable M4 interrupt from M0 only when expected. 2016-06-24 13:44:40 -07:00