added copy step for embedded resources to limit symbol name length. wrapped add resource functionality into a cmake function for easy use.

pull/1/head
Jonathan Williamson 2021-01-17 16:59:58 +00:00
rodzic fb5a26d4ac
commit 5a7125f803
3 zmienionych plików z 23 dodań i 13 usunięć

Wyświetl plik

@ -10,6 +10,24 @@ set(CMAKE_CXX_STANDARD 17)
# Initialize the SDK
pico_sdk_init()
function(add_resource target file)
get_filename_component(NAME ${ARGV1} NAME_WE)
set(FILENAME ${ARGV1})
add_custom_command(
OUTPUT ${NAME}.o
COMMAND ${CMAKE_COMMAND} -E copy
${CMAKE_CURRENT_SOURCE_DIR}/${FILENAME}
${CMAKE_CURRENT_BINARY_DIR}
COMMAND arm-none-eabi-ld -r -b binary -o ${NAME}.o ${FILENAME}
DEPENDS ${FILENAME}
)
target_sources(${ARGV0} PRIVATE ${NAME}.o)
endfunction(add_resource)
add_subdirectory(drivers)
add_subdirectory(libraries)

Wyświetl plik

@ -1,17 +1,12 @@
add_custom_command(
OUTPUT fox.o
COMMAND arm-none-eabi-ld -r -b binary -o fox.o ${CMAKE_CURRENT_SOURCE_DIR}/fox.tga
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/fox.tga
)
add_executable(
explorer
demo.cpp
fox.o
)
add_resource(explorer fox.tga)
# Pull in pico libraries that we need
target_link_libraries(explorer pico_stdlib pico_explorer msa301)
# create map/bin/hex file etc.
pico_add_extra_outputs(explorer)
pico_add_extra_outputs(explorer)

Wyświetl plik

@ -8,10 +8,7 @@
using namespace pimoroni;
extern unsigned char image_tif[];
extern unsigned int image_tif_len;
extern unsigned char _binary__home_jon_pimoroni_pico_examples_pico_explorer_fox_tga_start[];
extern unsigned char _binary_fox_tga_start[];
PicoExplorer pico_explorer;
MSA301 msa301;
@ -147,7 +144,7 @@ int main() {
yoff += 120 - (68 / 2);
for(int y = 0; y < 68; y++) {
uint16_t *dest = pico_explorer.frame_buffer + (y * 240);
uint8_t *src = _binary__home_jon_pimoroni_pico_examples_pico_explorer_fox_tga_start + 18 + (y * 81 * 3);
uint8_t *src = _binary_fox_tga_start + 18 + (y * 81 * 3);
for(int x = 0; x < 81; x++) {
uint8_t r = *src++;
uint8_t g = *src++;