Skip to content

Commit af65b82

Browse files
committed
Print bsp banner
1 parent 2144b52 commit af65b82

3 files changed

Lines changed: 95 additions & 36 deletions

File tree

target/infineon/edge-e83/m55/SConstruct

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,10 @@ env = Environment(tools = ['mingw'], ENV=os.environ,
5252
LINK = rtconfig.LINK, LINKFLAGS = rtconfig.LFLAGS)
5353
env.PrependENVPath('PATH', rtconfig.EXEC_PATH)
5454

55+
# set VEHICLE_TYPE macro for low-level usage
56+
env.Append(CPPDEFINES = [('VEHICLE_TYPE', GetOption('vehicle'))])
57+
env.Append(CPPDEFINES = [('AIRFRAME', GetOption('airframe'))])
58+
5559
OBJCOPY = os.path.join(rtconfig.EXEC_PATH, 'arm-none-eabi-objcopy')
5660

5761
if rtconfig.PLATFORM in ['iccarm']:

target/infineon/edge-e83/m55/board/board.c

Lines changed: 90 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -53,16 +53,14 @@
5353
#include "module/utils/devmq.h"
5454
#include "module/workqueue/workqueue_manager.h"
5555

56-
5756
static const struct dfs_mount_tbl mnt_table[] = {
5857
{ "sd0", "/", "elm", 0, NULL },
5958
{ NULL } /* NULL indicate the end */
6059
};
6160

62-
6361
#ifdef RT_USING_FINSH
64-
#include <finsh.h>
65-
static void reboot(uint8_t argc, char **argv)
62+
#include <finsh.h>
63+
static void reboot(uint8_t argc, char** argv)
6664
{
6765
rt_hw_cpu_reset();
6866
}
@@ -74,13 +72,70 @@ MSH_CMD_EXPORT(reboot, Reboot System);
7472
* @param none
7573
* @retval none
7674
*/
77-
void _Error_Handler(char *s, int num)
75+
void _Error_Handler(char* s, int num)
7876
{
7977
/* User can add his own implementation to report the HAL error return state */
8078
LOG_E("Error_Handler at file:%s num:%d", s, num);
8179

82-
while (1)
83-
{
80+
while (1) {
81+
}
82+
}
83+
84+
static void banner_item(const char* name, const char* content, char pad, uint32_t len)
85+
{
86+
int pad_len;
87+
88+
if (content == NULL) {
89+
content = "NULL";
90+
}
91+
92+
pad_len = len - strlen(name) - strlen(content);
93+
94+
if (pad_len < 1) {
95+
pad_len = 1;
96+
}
97+
// e.g, name..............content
98+
console_printf("%s", name);
99+
while (pad_len--) {
100+
console_write(&pad, 1);
101+
}
102+
103+
console_printf("%s\n", content);
104+
}
105+
106+
#define BANNER_ITEM_LEN 42
107+
static void bsp_show_information(void)
108+
{
109+
char buffer[50];
110+
111+
console_printf("\n");
112+
console_println(" _____ __ ");
113+
console_println(" / __(_)_____ _ ___ ___ _ ___ ___ / /_");
114+
console_println(" / _// / __/ ' \\/ _ `/ ' \\/ -_) _ \\/ __/");
115+
console_println("/_/ /_/_/ /_/_/_/\\_,_/_/_/_/\\__/_//_/\\__/ ");
116+
117+
sprintf(buffer, "FMT FW %s", FMT_VERSION);
118+
banner_item("Firmware", buffer, '.', BANNER_ITEM_LEN);
119+
sprintf(buffer, "RT-Thread v%ld.%ld.%ld", RT_VERSION, RT_SUBVERSION, RT_REVISION);
120+
banner_item("Kernel", buffer, '.', BANNER_ITEM_LEN);
121+
sprintf(buffer, "%d KB", IFX_SRAM_SIZE);
122+
banner_item("RAM", buffer, '.', BANNER_ITEM_LEN);
123+
banner_item("Target", TARGET_NAME, '.', BANNER_ITEM_LEN);
124+
banner_item("Vehicle", STR(VEHICLE_TYPE), '.', BANNER_ITEM_LEN);
125+
banner_item("Airframe", STR(AIRFRAME), '.', BANNER_ITEM_LEN);
126+
banner_item("INS Model", ins_model_info.info, '.', BANNER_ITEM_LEN);
127+
banner_item("FMS Model", fms_model_info.info, '.', BANNER_ITEM_LEN);
128+
banner_item("Control Model", control_model_info.info, '.', BANNER_ITEM_LEN);
129+
#ifdef FMT_USING_SIH
130+
banner_item("Plant Model", plant_model_info.info, '.', BANNER_ITEM_LEN);
131+
#endif
132+
133+
console_println("Task Initialize:");
134+
fmt_task_desc_t task_tab = get_task_table();
135+
for (uint32_t i = 0; i < get_task_num(); i++) {
136+
sprintf(buffer, " %s", task_tab[i].name);
137+
/* task status must be okay to reach here */
138+
banner_item(buffer, get_task_status(task_tab[i].name) == TASK_READY ? "OK" : "Fail", '.', BANNER_ITEM_LEN);
84139
}
85140
}
86141

@@ -90,7 +145,7 @@ void bsp_early_initialize(void)
90145
cy_bsp_all_init();
91146

92147
/* heap initialization */
93-
rt_system_heap_init((void *)HEAP_BEGIN, (void *)HEAP_END);
148+
rt_system_heap_init((void*)HEAP_BEGIN, (void*)HEAP_END);
94149

95150
/* gpio driver init */
96151
RT_CHECK(drv_gpio_init());
@@ -106,7 +161,7 @@ void bsp_early_initialize(void)
106161

107162
/* i2c driver init */
108163
RT_CHECK(drv_i2c_init());
109-
164+
110165
/* spi driver init */
111166
RT_CHECK(drv_spi_init());
112167

@@ -145,7 +200,7 @@ void bsp_initialize(void)
145200

146201
/* init storage devices */
147202
RT_CHECK(drv_sdio_init());
148-
/* init file system */
203+
/* init file system */
149204
FMT_CHECK(file_manager_init(mnt_table));
150205

151206
/* init parameter system */
@@ -157,29 +212,29 @@ void bsp_initialize(void)
157212
/* init usbd_cdc */
158213
RT_CHECK(drv_usb_cdc_init());
159214

160-
// #if defined(FMT_USING_SIH) || defined(FMT_USING_HIL)
161-
// FMT_CHECK(advertise_sensor_imu(0));
162-
// FMT_CHECK(advertise_sensor_mag(0));
163-
// FMT_CHECK(advertise_sensor_baro(0));
164-
// FMT_CHECK(advertise_sensor_gps(0));
165-
// FMT_CHECK(advertise_sensor_airspeed(0));
166-
// #else
167-
// /* init onboard sensors */
168-
// RT_CHECK(drv_bmi088_init("spi4_dev1", "spi4_dev2", "gyro0", "accel0", 0));
169-
// RT_CHECK(drv_icm42688_init("spi4_dev3", "gyro1", "accel1", 0));
170-
// RT_CHECK(drv_bmm150_init("spi4_dev4", "mag0", 0));
171-
// // RT_CHECK(drv_qmc5883l_init("i2c1_dev2", "mag0", EXTERNAL_DEV | 0));
172-
// RT_CHECK(drv_spl06_init("spi1_dev1", "barometer"));
173-
// RT_CHECK(gps_ubx_init("serial3", "gps"));
174-
// // RT_CHECK(gps_nmea_init("serial3", "gps"));
175-
// // RT_CHECK(drv_tofsense_init("serial5"));
176-
177-
// FMT_CHECK(register_sensor_imu("gyro0", "accel0", 0));
178-
// FMT_CHECK(register_sensor_mag("mag0", 0));
179-
// FMT_CHECK(register_sensor_barometer("barometer"));
180-
// FMT_CHECK(advertise_sensor_optflow(0));
181-
// FMT_CHECK(advertise_sensor_rangefinder(0));
182-
// #endif
215+
// #if defined(FMT_USING_SIH) || defined(FMT_USING_HIL)
216+
// FMT_CHECK(advertise_sensor_imu(0));
217+
// FMT_CHECK(advertise_sensor_mag(0));
218+
// FMT_CHECK(advertise_sensor_baro(0));
219+
// FMT_CHECK(advertise_sensor_gps(0));
220+
// FMT_CHECK(advertise_sensor_airspeed(0));
221+
// #else
222+
// /* init onboard sensors */
223+
// RT_CHECK(drv_bmi088_init("spi4_dev1", "spi4_dev2", "gyro0", "accel0", 0));
224+
// RT_CHECK(drv_icm42688_init("spi4_dev3", "gyro1", "accel1", 0));
225+
// RT_CHECK(drv_bmm150_init("spi4_dev4", "mag0", 0));
226+
// // RT_CHECK(drv_qmc5883l_init("i2c1_dev2", "mag0", EXTERNAL_DEV | 0));
227+
// RT_CHECK(drv_spl06_init("spi1_dev1", "barometer"));
228+
// RT_CHECK(gps_ubx_init("serial3", "gps"));
229+
// // RT_CHECK(gps_nmea_init("serial3", "gps"));
230+
// // RT_CHECK(drv_tofsense_init("serial5"));
231+
232+
// FMT_CHECK(register_sensor_imu("gyro0", "accel0", 0));
233+
// FMT_CHECK(register_sensor_mag("mag0", 0));
234+
// FMT_CHECK(register_sensor_barometer("barometer"));
235+
// FMT_CHECK(advertise_sensor_optflow(0));
236+
// FMT_CHECK(advertise_sensor_rangefinder(0));
237+
// #endif
183238

184239
/* init finsh */
185240
finsh_system_init();
@@ -227,8 +282,8 @@ void bsp_post_initialize(void)
227282
// /* initialize power management unit */
228283
// FMT_CHECK(pmu_init());
229284

230-
// /* show system information */
231-
// bsp_show_information();
285+
/* show system information */
286+
bsp_show_information();
232287

233288
// /* execute init script */
234289
// msh_exec_script(SYS_INIT_SCRIPT, strlen(SYS_INIT_SCRIPT));

target/infineon/edge-e83/m55/fmtconfig.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@
4343
#endif
4444

4545
/* Cortex-M Backtrace */
46-
#define FMT_USING_CM_BACKTRACE
46+
// #define FMT_USING_CM_BACKTRACE
4747

4848
/* Unit Test */
4949
// #define FMT_USING_UNIT_TEST

0 commit comments

Comments
 (0)