Forum Discussion
BSP fails to build for FreeRTOS on a Nios V with UART
- 2 years ago
In the "freertos/drivers/src/":
- intel_lw_uart_init.c
- line 228~:
if (sp->tx_start == ((sp->tx_end + 1) & ALT_AVALON_UART_BUF_MSK))
{
ALT_FLAG_POST (sp->events,
ALT_UART_WRITE_RDY,
ALT_FLAG_SET);
}
- intel_lw_uart_read.c
- line 205~:
ALT_FLAG_PEND (sp->events,
ALT_UART_READ_RDY,
ALT_FLAG_WAIT_SET_ANY_WITH_CONSUME,
ALT_FLAG_WAIT_MAX_TIMEOUT);
- intel_lw_uart_write.c
- line 192~:
ALT_FLAG_PEND (sp->events,
ALT_UART_WRITE_RDY,
ALT_FLAG_WAIT_SET_ANY_WITH_CONSUME,
ALT_FLAG_WAIT_MAX_TIMEOUT);
- intel_lw_uart_init.c
Hi,
I am a bit caught up on my side, I will try to get the test in the next few days.
Thank you for your patience, I shall get back to you soon.
"On-Chip Flash Intel FPGA IP" doesnt compile either:
In file included from freertos_bsp/drivers/src/altera_onchip_flash.c:32: freertos_bsp/drivers/src/altera_onchip_flash.c: In function 'alt_onchip_flash_erase_block': freertos_bsp/HAL/inc/io.h:126:34: error: expected expression before 'do' 126 | #define SWIO(BASE, OFFSET, DATA) do { \ | ^~
- Broddo2 years ago
Occasional Contributor
I've experienced this one as well. The reason is that the do {} while(0) is surrounded by a brace due to the macro expansion in altera_onchip_flash_regs.h
You can fix it by modifying each of the macros altera_onchip_flash_regs.h and removing the outermost brackets like so:
Old:
#define ALTERA_ONCHIP_FLASH_ENABLE_WRITE_AND_ERASE_OPERATION(base) \ ( \ IOWR_ALTERA_ONCHIP_FLASH_CONTROL((base), \ (IORD_ALTERA_ONCHIP_FLASH_CONTROL((base)) \ & \ ~( \ ALTERA_ONCHIP_FLASH_CONTROL_ALLSECTOR_WRITE_PROTECT_MSK | \ ALTERA_ONCHIP_FLASH_CONTROL_PAGE_ERASE_MSK | \ ALTERA_ONCHIP_FLASH_CONTROL_SECTOR_ERASE_MSK \ ) \ ) \ | \ ( \ ALTERA_ONCHIP_FLASH_CONTROL_ALLSECTOR_WRITE_ENABLE | \ ALTERA_ONCHIP_FLASH_CONTROL_PAGE_ERASE_NOT_SET | \ ALTERA_ONCHIP_FLASH_CONTROL_SECTOR_ERASE_NOT_SET \ ) \ ) \ )Modified:
#define ALTERA_ONCHIP_FLASH_ENABLE_WRITE_AND_ERASE_OPERATION(base) \ IOWR_ALTERA_ONCHIP_FLASH_CONTROL((base), \ (IORD_ALTERA_ONCHIP_FLASH_CONTROL((base)) \ & \ ~( \ ALTERA_ONCHIP_FLASH_CONTROL_ALLSECTOR_WRITE_PROTECT_MSK | \ ALTERA_ONCHIP_FLASH_CONTROL_PAGE_ERASE_MSK | \ ALTERA_ONCHIP_FLASH_CONTROL_SECTOR_ERASE_MSK \ ) \ ) \ | \ ( \ ALTERA_ONCHIP_FLASH_CONTROL_ALLSECTOR_WRITE_ENABLE | \ ALTERA_ONCHIP_FLASH_CONTROL_PAGE_ERASE_NOT_SET | \ ALTERA_ONCHIP_FLASH_CONTROL_SECTOR_ERASE_NOT_SET \ ) \ ) \@EBERLAZARE_I_Intel Can you flag this to be patched as well? And any news on when the UART fix will be submitted? This is affecting me also.