AnsweredAssumed Answered

HAl Library, difference between SW4 and CUBE ?

Question asked by Jozed on Sep 16, 2016
Hello. This is my 1st post here. I'm trying to use a NUCLEO F103RB to make my own electronic application. I'm an electronician, not really a programmer.
I've installed Eclipse OpenSTM (Mac OS X version), and I can start a project for the board, based on HAL driver (1.0.3 from february). I've play to flash the LED, interrupt on button event, it's OK.
I've installed STM32CUBE (Mac OS X version), and I can create the files and associate CUBE HAL driver (1.0.4 from april). After I edit it with OPENSTM SW4.

My problem is : I would use the CAN bus. I begin the program on OpenSTM, without using CUBE. I check each line, several time. I read many internet pages on CAN bus for STM32 (many on this forum) and it don't run. I don't see anything one my oscilloscope. After 2 week, I try to use CUBE. I create new projet, link the CUBE HAL drivers, and run the code frome the example. It's OK, I can see CAN bus signals on the oscilloscope.

Why ? there are a differences between HAL driver frome CUBE and OPENSTM ? Perhaps the CAN driver in 1.0.3 don't run CAN bus ?
I don't like the CUBE generated code beacause it don't run 1st, I must change many think before start.

for example, in stm32f1xx_hal_msp.c (same directory main.c) there is a line :
__HAL_AFIO_REMAP_SWJ_DISABLE();
who stop the JTAG debug session. It's not logical ?
there are many other errors like "SysTick_IRQn" don't find, etc.
Why this linked driver is not good ?
I don't understand all the refinements of the CUBE, probably ?!

Perhaps it's should be a better idea to make CAN application with STD library because it's a lower level ?

Outcomes