Hallo zusammen,
ich probiere gerade ein STM32F4 Discoveryboard mit grafischer
Programmierung in Simulink zum laufen zu bekommen.
Habe mit meine Toolchain mit CobeMX, Simulink, Embedded Coder und
TrueSTUDIO eingerichtet. Wollte jetzt einfach nur mal ein LED mit einem
Pulsegenarotor ansteuern:
test.c
1 | /* Model step function */
|
2 | void test_step(void)
|
3 | {
|
4 | test_B.PulseGenerator = ((test_DW.clockTickCounter < 1000) &&
|
5 | (test_DW.clockTickCounter >= 0));
|
6 | if (test_DW.clockTickCounter >= 2999) {
|
7 | test_DW.clockTickCounter = 0;
|
8 | } else {
|
9 | test_DW.clockTickCounter++;
|
10 | }
|
11 |
|
12 | /* S-Function Block: <Root>/STM32_Config */
|
13 |
|
14 | /* S-Function Block: <Root>/GPIO_Write */
|
15 | if (test_B.PulseGenerator == 0)
|
16 | HAL_GPIO_WritePin(GPIOD, GPIO_PIN_14, GPIO_PIN_RESET);
|
17 | else
|
18 | HAL_GPIO_WritePin(GPIOD, GPIO_PIN_14, GPIO_PIN_SET);
|
19 |
|
20 | //
|
21 | }
|
22 |
|
23 | /* Model initialize function */
|
24 | void test_initialize(void)
|
25 | {
|
26 | /* Registration code */
|
27 |
|
28 | /* initialize error status */
|
29 | rtmSetErrorStatus(test_M, (NULL));
|
30 |
|
31 | /* block I/O */
|
32 | (void) memset(((void *) &test_B), 0,
|
33 | sizeof(B_test));
|
34 |
|
35 | /* states (dwork) */
|
36 | (void) memset((void *)&test_DW, 0,
|
37 | sizeof(DW_test));
|
38 | test_DW.clockTickCounter = 0;
|
39 | }
|
Das ganze wirft aber beim compilieren einen Fehler und so gut kenne ich
mich leider nicht in C aus das Problem zu beheben :/
1 | .......startup\startup_stm32f407xx.o -mthumb -mcpu=cortex-m4 -mfloat-abi=hard -mfpu=fpv4-sp-d16 -T../STM32F407VG_FLASH.ld -specs=nosys.specs -static -Wl,-Map=test3.map -Wl,--gc-sections -Wl,--defsym=malloc_getpagesize_P=0x80 -Wl,--start-group -lc -lm -Wl,--end-group -specs=nano.specs
|
2 | Src\main.o: In function `main':
|
3 |
|
4 | C:\Users\Desktop\stm32board_test\test3\Debug/..\Src/main.c:149: undefined reference to `test_initialize'
|
5 | C:\Users\Desktop\stm32board_test\test3\Debug/..\Src/main.c:166: undefined reference to `test_step'
|
6 | Src\main.o: In function `SysTick_Config':
|
7 | C:\Users\Desktop\stm32board_test\test3\Drivers\CMSIS\Include/core_cm4.h:2031: undefined reference to `test_M'
|
8 | collect2.exe: error: ld returned 1 exit Status
|
Hoffe ihr könnt mir weiterhelfen :)