Skip to content

Commit 3342331

Browse files
authored
Merge pull request #5 from AlexLanzano/pic32cz-flash
Pic32cz flash
2 parents 2343509 + 00c7c6e commit 3342331

30 files changed

Lines changed: 970 additions & 21 deletions

.github/workflows/ci.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,3 +35,7 @@ jobs:
3535
- name: Build PIC32CZ example
3636
working-directory: examples/pic32cz
3737
run: make
38+
39+
- name: Build PIC32CZ hardware tests
40+
working-directory: tests/pic32cz
41+
run: make

examples/pic32cz/Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ SOURCE += $(wildcard $(WHAL_DIR)/src/*/clock.c)
1515
SOURCE += $(wildcard $(WHAL_DIR)/src/*/uart.c)
1616
SOURCE += $(wildcard $(WHAL_DIR)/src/*/timer.c)
1717
SOURCE += $(wildcard $(WHAL_DIR)/src/*/supply.c)
18+
SOURCE += $(wildcard $(WHAL_DIR)/src/*/flash.c)
1819
SOURCE += $(wildcard $(WHAL_DIR)/src/*/pic32cz_*.c)
1920
SOURCE += $(wildcard $(WHAL_DIR)/src/*/systick.c)
2021

examples/pic32cz/ivt.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,9 @@ void Reset_Handler(void)
5454
uint32_t* src = &_sidata;
5555
uint32_t* dst = &_sdata;
5656

57+
__asm__("ldr r0, =_estack\n\t"
58+
"mov sp, r0");
59+
5760
while (dst < &_edata) {
5861
*dst++ = *src++;
5962
}

examples/pic32cz/main.c

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,8 @@ void main(void)
3737
{
3838
whal_Error err;
3939
uint8_t data[] = "Hello world!\r\n";
40+
uint8_t test[] = "test1\r\n";
41+
uint8_t tmp[sizeof(test)] = {0};
4042

4143
err = whal_Clock_Init(&g_whalClock);
4244
if (err) {
@@ -58,6 +60,34 @@ void main(void)
5860
goto loop;
5961
}
6062

63+
err = whal_Flash_Init(&g_whalFlash);
64+
if (err) {
65+
goto loop;
66+
}
67+
68+
err = whal_Flash_Erase(&g_whalFlash, 0x0C000000, 0x1000);
69+
if (err) {
70+
goto loop;
71+
}
72+
73+
do {
74+
err = whal_Flash_Write(&g_whalFlash, 0x0C000000, test, sizeof(test));
75+
} while (err == WHAL_ENOTREADY);
76+
77+
if (err) {
78+
goto loop;
79+
}
80+
81+
err = whal_Flash_Read(&g_whalFlash, 0x0C000000, tmp, sizeof(tmp));
82+
if (err) {
83+
goto loop;
84+
}
85+
86+
err = whal_Uart_Send(&g_whalUart, tmp, sizeof(tmp));
87+
if (err) {
88+
goto loop;
89+
}
90+
6191
err = whal_Timer_Init(&g_whalTimer);
6292
if (err) {
6393
goto loop;

examples/pic32cz/pic32cz_curiosity_ultra.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,3 +96,7 @@ whal_Timer g_whalTimer = {
9696
.tickInt = WHAL_SYSTICK_TICKINT_ENABLED,
9797
},
9898
};
99+
100+
whal_Flash g_whalFlash = {
101+
WHAL_PIC32CZ_FLASH_DEVICE,
102+
};

examples/pic32cz/pic32cz_curiosity_ultra.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,5 +9,6 @@ extern whal_Clock g_whalClock;
99
extern whal_Gpio g_whalGpio;
1010
extern whal_Timer g_whalTimer;
1111
extern whal_Uart g_whalUart;
12+
extern whal_Flash g_whalFlash;
1213

1314
#endif /* WHAL_PIC32CZ_CURIOSITY_ULTRA */

src/clock/pic32cz_clock.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -269,7 +269,7 @@ whal_Error whal_Pic32czClock_GetRate(whal_Clock *clkDev, size_t *rateOut)
269269
return WHAL_SUCCESS;
270270
}
271271

272-
whal_ClockDriver whal_Pic32czClockPll_Driver = {
272+
const whal_ClockDriver whal_Pic32czClockPll_Driver = {
273273
.Init = whal_Pic32czClockPll_Init,
274274
.Deinit = whal_Pic32czClockPll_Deinit,
275275
.Enable = whal_Pic32czClock_Enable,

0 commit comments

Comments
 (0)