El system workbench es Eclipse con todos los plugins instalados y configurados, así como el compilador y el debug. Es la mejor opcion para empezar.
Como mostró dijeron hay 2 formas de programar una placa (en cuanto a linker script y debug) una es elegir una placa de la lista, si es que tu placa está en dicha lista. La otra es programar por SWD y entonces al momento de crear el proyecto eliges un micro y "creas una placa", todo se hace en el menú de nuevo proyecto.
Tambien tienes que tener en cuenta que hay 2 formas de hacer un proyecto. La primera es hacer uso del CubeMX (cabe aclarar que hay 2 CubeMX, uno que viene como plugin de eclipse y se abre en una perspectiva dentro de eclipse y el otro un standalone de java para ejecutar sin tener eclipse corriendo), configurar los perifericos y generar el proyecto. Luego entras a eclipse e importas ese proyecto en el workspace y ya puedes empezar a agregar codigo. Se te agrega todo el código para que las HAL estén funcionales ya que son necesarias para el código de configuracion de los perifericos.
La otra opcion es partir de un proyecto desde cero. En eclipse vas a archivo nuevo proyecto y eliges AC6, micro, placa y librería. Como dice KILLER cuando eliges librería (HAL o stdplibrary (obsoleta pero con muchos ejemplos en la web)) si no la tienes se descarga e instala. Tambien hay que notar que aunque uses la misma libreria en el SystemWorkbench y en el CubeMX, estas se guardan en directorios separados, por lo que siempre tendras duplicadas las librerías

. En el archivo desde 0 se te configura el micro para que arranque y te da un main para que programes todo. Las librerías HAL estan referenciadas, pero no están inicializadas y por lo tanto no las puedes usar. Tiens que llamar a HAL_Init y seguir los pasos que se dan en un manual para usar las HAL.
Generalmente se usan combinaciones de ambas, es muy raro crear un proyecto de 0 porque configurar los perifericos es mucho código y tampoco se suele usar un proyecto del CubeMX porque el proyecto que se te crea tiene sus problemas, es complicado agregar ficheros .c/.h etc. Esto lo han ido mejorando, pero creo que aún no esta al 100%.
Yo lo que hago es hacer un proyecto con la configuracion/inicializacion de los perifericos. Luego hago con proyecto de 0 con la estructura de directorios/archivos que quiero y me copio el código generado a mi proyecto...
Saludos