mirror of
https://github.com/pine64/blisp.git
synced 2026-09-18 21:51:30 +00:00
Refactor to address compiler warnings
- Unused function warnings
Move function definitions in include/blisp_util.h to lib/blisp_util.c.
Defining them as static leads to internal linkage, accessible in that
translation unit, hence the warning. Their references are to be handled
in other translation units, so they shouldn't be static.
- Unused function parameters
Use C attribute `[[maybe_unused]]` (introduced in C23) to suppress
unused parameter warnings.
- `blisp_chip_xxxxx_get_eflash_loader` implementations accept clock type
but don't use it.
- `drain` function only has a body under macOS and FreeBSD with
preprocessor predicates.
- Enable compiler warnings
Now that warnings are address enable them `-Wall -Wextra -Wpedantic` for
the library and the tool targets.
N.B. An equivalent of MSVC should be added to CMakeLists.txt, as these
would only work when using GCC or Clang.
This commit is contained in:
+4
-1
@@ -7,10 +7,13 @@ option(BLISP_BUILD_CLI "Build CLI Tool" OFF)
|
|||||||
|
|
||||||
add_library(libblisp_obj OBJECT
|
add_library(libblisp_obj OBJECT
|
||||||
lib/blisp.c
|
lib/blisp.c
|
||||||
|
lib/blisp_easy.c
|
||||||
|
lib/blisp_util.c
|
||||||
lib/chip/blisp_chip_bl60x.c
|
lib/chip/blisp_chip_bl60x.c
|
||||||
lib/chip/blisp_chip_bl70x.c lib/blisp_easy.c)
|
lib/chip/blisp_chip_bl70x.c)
|
||||||
|
|
||||||
target_include_directories(libblisp_obj PRIVATE ${CMAKE_SOURCE_DIR}/include/)
|
target_include_directories(libblisp_obj PRIVATE ${CMAKE_SOURCE_DIR}/include/)
|
||||||
|
target_compile_options(libblisp_obj PRIVATE -Wall -Wextra -Wpedantic)
|
||||||
|
|
||||||
set_property(TARGET libblisp_obj PROPERTY POSITION_INDEPENDENT_CODE 1)
|
set_property(TARGET libblisp_obj PROPERTY POSITION_INDEPENDENT_CODE 1)
|
||||||
|
|
||||||
|
|||||||
@@ -72,5 +72,4 @@ int32_t blisp_device_flash_write(struct blisp_device* device,
|
|||||||
int32_t blisp_device_program_check(struct blisp_device* device);
|
int32_t blisp_device_program_check(struct blisp_device* device);
|
||||||
int32_t blisp_device_reset(struct blisp_device* device);
|
int32_t blisp_device_reset(struct blisp_device* device);
|
||||||
void blisp_device_close(struct blisp_device* device);
|
void blisp_device_close(struct blisp_device* device);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
+6
-39
@@ -2,35 +2,18 @@
|
|||||||
#ifndef _BLISP_UTIL_H
|
#ifndef _BLISP_UTIL_H
|
||||||
#define _BLISP_UTIL_H
|
#define _BLISP_UTIL_H
|
||||||
|
|
||||||
#include <stdarg.h>
|
#include <stdint.h>
|
||||||
#include <stdio.h>
|
|
||||||
#ifdef WIN32
|
#ifdef WIN32
|
||||||
#include <windows.h>
|
# include <windows.h>
|
||||||
#else
|
#else
|
||||||
#include <time.h>
|
# include <time.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
static void blisp_dlog(const char* format, ...)
|
void blisp_dlog(const char* format, ...);
|
||||||
{
|
|
||||||
fflush(stdout);
|
|
||||||
va_list args;
|
|
||||||
va_start(args, format);
|
|
||||||
vfprintf(stderr, format, args);
|
|
||||||
va_end(args);
|
|
||||||
fputc('\n', stderr);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
void sleep_ms(int milliseconds);
|
||||||
|
|
||||||
static void sleep_ms(int milliseconds) {
|
uint32_t crc32_calculate(const void *data, size_t data_len);
|
||||||
#ifdef WIN32
|
|
||||||
Sleep(milliseconds);
|
|
||||||
#else
|
|
||||||
struct timespec ts;
|
|
||||||
ts.tv_sec = milliseconds / 1000;
|
|
||||||
ts.tv_nsec = (milliseconds % 1000) * 1000000;
|
|
||||||
nanosleep(&ts, NULL);
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* * Generated on Mon Jan 9 19:56:36 2023
|
* * Generated on Mon Jan 9 19:56:36 2023
|
||||||
@@ -44,7 +27,6 @@ static void sleep_ms(int milliseconds) {
|
|||||||
* - ReflectOut = True
|
* - ReflectOut = True
|
||||||
* - Algorithm = table-driven
|
* - Algorithm = table-driven
|
||||||
*/
|
*/
|
||||||
|
|
||||||
static const uint32_t crc_table[256] = {
|
static const uint32_t crc_table[256] = {
|
||||||
0x00000000, 0x77073096, 0xee0e612c, 0x990951ba, 0x076dc419, 0x706af48f, 0xe963a535, 0x9e6495a3,
|
0x00000000, 0x77073096, 0xee0e612c, 0x990951ba, 0x076dc419, 0x706af48f, 0xe963a535, 0x9e6495a3,
|
||||||
0x0edb8832, 0x79dcb8a4, 0xe0d5e91e, 0x97d2d988, 0x09b64c2b, 0x7eb17cbd, 0xe7b82d07, 0x90bf1d91,
|
0x0edb8832, 0x79dcb8a4, 0xe0d5e91e, 0x97d2d988, 0x09b64c2b, 0x7eb17cbd, 0xe7b82d07, 0x90bf1d91,
|
||||||
@@ -80,19 +62,4 @@ static const uint32_t crc_table[256] = {
|
|||||||
0xb3667a2e, 0xc4614ab8, 0x5d681b02, 0x2a6f2b94, 0xb40bbe37, 0xc30c8ea1, 0x5a05df1b, 0x2d02ef8d
|
0xb3667a2e, 0xc4614ab8, 0x5d681b02, 0x2a6f2b94, 0xb40bbe37, 0xc30c8ea1, 0x5a05df1b, 0x2d02ef8d
|
||||||
};
|
};
|
||||||
|
|
||||||
static uint32_t crc32_calculate(const void *data, size_t data_len)
|
|
||||||
{
|
|
||||||
uint32_t crc = 0xffffffff;
|
|
||||||
const unsigned char *d = (const unsigned char *)data;
|
|
||||||
unsigned int tbl_idx;
|
|
||||||
|
|
||||||
while (data_len--) {
|
|
||||||
tbl_idx = (crc ^ *d) & 0xff;
|
|
||||||
crc = (crc_table[tbl_idx] ^ (crc >> 8)) & 0xffffffff;
|
|
||||||
d++;
|
|
||||||
}
|
|
||||||
return (crc & 0xffffffff) ^ 0xffffffff;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
+1
-1
@@ -13,7 +13,7 @@
|
|||||||
|
|
||||||
#define DEBUG
|
#define DEBUG
|
||||||
|
|
||||||
static void drain(struct sp_port* port) {
|
static void drain([[maybe_unused]] struct sp_port* port) {
|
||||||
#if defined(__APPLE__) || defined(__FreeBSD__)
|
#if defined(__APPLE__) || defined(__FreeBSD__)
|
||||||
sp_drain(port);
|
sp_drain(port);
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -0,0 +1,48 @@
|
|||||||
|
// SPDX-License-Identifier: MIT
|
||||||
|
#include <stdarg.h>
|
||||||
|
#include <stdint.h>
|
||||||
|
#include <stdio.h>
|
||||||
|
|
||||||
|
#ifdef WIN32
|
||||||
|
# include <windows.h>
|
||||||
|
#else
|
||||||
|
# include <time.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include "blisp_util.h"
|
||||||
|
|
||||||
|
void blisp_dlog(const char* format, ...)
|
||||||
|
{
|
||||||
|
fflush(stdout);
|
||||||
|
va_list args;
|
||||||
|
va_start(args, format);
|
||||||
|
vfprintf(stderr, format, args);
|
||||||
|
va_end(args);
|
||||||
|
fputc('\n', stderr);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void sleep_ms(int milliseconds) {
|
||||||
|
#ifdef WIN32
|
||||||
|
Sleep(milliseconds);
|
||||||
|
#else
|
||||||
|
struct timespec ts;
|
||||||
|
ts.tv_sec = milliseconds / 1000;
|
||||||
|
ts.tv_nsec = (milliseconds % 1000) * 1000000;
|
||||||
|
nanosleep(&ts, NULL);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
uint32_t crc32_calculate(const void *data, size_t data_len)
|
||||||
|
{
|
||||||
|
uint32_t crc = 0xffffffff;
|
||||||
|
const unsigned char *d = (const unsigned char *)data;
|
||||||
|
unsigned int tbl_idx;
|
||||||
|
|
||||||
|
while (data_len--) {
|
||||||
|
tbl_idx = (crc ^ *d) & 0xff;
|
||||||
|
crc = (crc_table[tbl_idx] ^ (crc >> 8)) & 0xffffffff;
|
||||||
|
d++;
|
||||||
|
}
|
||||||
|
return (crc & 0xffffffff) ^ 0xffffffff;
|
||||||
|
}
|
||||||
@@ -4,7 +4,7 @@
|
|||||||
#include "../../data/bl60x_eflash_loader.h"
|
#include "../../data/bl60x_eflash_loader.h"
|
||||||
#include "blisp.h"
|
#include "blisp.h"
|
||||||
|
|
||||||
int64_t blisp_chip_bl60x_get_eflash_loader(uint8_t clk_type, uint8_t** firmware_buf_ptr)
|
int64_t blisp_chip_bl60x_get_eflash_loader([[maybe_unused]] uint8_t clk_type, uint8_t** firmware_buf_ptr)
|
||||||
{
|
{
|
||||||
uint8_t* firmware_buf = malloc(sizeof(bl60x_eflash_loader_bin));
|
uint8_t* firmware_buf = malloc(sizeof(bl60x_eflash_loader_bin));
|
||||||
memcpy(firmware_buf, bl60x_eflash_loader_bin, sizeof(bl60x_eflash_loader_bin));
|
memcpy(firmware_buf, bl60x_eflash_loader_bin, sizeof(bl60x_eflash_loader_bin));
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
#include "../../data/bl70x_eflash_loader.h"
|
#include "../../data/bl70x_eflash_loader.h"
|
||||||
#include "blisp.h"
|
#include "blisp.h"
|
||||||
|
|
||||||
int64_t blisp_chip_bl70x_get_eflash_loader(uint8_t clk_type, uint8_t** firmware_buf_ptr)
|
int64_t blisp_chip_bl70x_get_eflash_loader([[maybe_unused]] uint8_t clk_type, uint8_t** firmware_buf_ptr)
|
||||||
{
|
{
|
||||||
uint8_t* firmware_buf = malloc(sizeof(bl70x_eflash_loader_bin));
|
uint8_t* firmware_buf = malloc(sizeof(bl70x_eflash_loader_bin));
|
||||||
memcpy(firmware_buf, bl70x_eflash_loader_bin, sizeof(bl70x_eflash_loader_bin));
|
memcpy(firmware_buf, bl70x_eflash_loader_bin, sizeof(bl70x_eflash_loader_bin));
|
||||||
|
|||||||
@@ -13,6 +13,8 @@ target_link_libraries(blisp PRIVATE
|
|||||||
argtable3
|
argtable3
|
||||||
libblisp_static)
|
libblisp_static)
|
||||||
|
|
||||||
|
target_compile_options(blisp PRIVATE -Wall -Wextra -Wpedantic)
|
||||||
|
|
||||||
if (WIN32)
|
if (WIN32)
|
||||||
target_link_libraries(blisp PRIVATE Setupapi.lib)
|
target_link_libraries(blisp PRIVATE Setupapi.lib)
|
||||||
elseif (APPLE)
|
elseif (APPLE)
|
||||||
|
|||||||
Reference in New Issue
Block a user