forked from qt-creator/qt-creator
McuSupport: Fix RH850 kit issues
- Let user provide Green Hills Software Compiler and Renesas Graphics Library - Set GHS_COMPILER_DIR and RGL_DIR instead of ARMGCC_DIR and SEGGER_JLINK_SOFTWARE_AND_DOCUMENTATION_PATH - Don't set Kit compilers - Do not set CMAKE_CXX_COMPILER and CMAKE_C_COMPILER - Set ghs.cmake as CMake toolchain file For the RGL package, McuPackage::updateStatus() was extended to be able to work without a provided "detection path". Task-number: QTCREATORBUG-23822 Change-Id: I5b666c258a965ce55047111fbbeca80271170892 Reviewed-by: Yoann Lopes <yoann.lopes@qt.io> Reviewed-by: hjk <hjk@qt.io> Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
This commit is contained in:
@@ -98,6 +98,50 @@ static McuToolChainPackage *createArmGccPackage()
|
||||
return result;
|
||||
}
|
||||
|
||||
static McuToolChainPackage *createGhsToolchainPackage()
|
||||
{
|
||||
const char envVar[] = "GHS_COMPILER_DIR";
|
||||
|
||||
const QString defaultPath =
|
||||
qEnvironmentVariableIsSet(envVar) ? qEnvironmentVariable(envVar) : QDir::homePath();
|
||||
|
||||
auto result = new McuToolChainPackage(
|
||||
"Green Hills Compiler",
|
||||
defaultPath,
|
||||
Utils::HostOsInfo::withExecutableSuffix("ccv850"),
|
||||
"GHSToolchain",
|
||||
McuToolChainPackage::TypeGHS);
|
||||
result->setEnvironmentVariableName(envVar);
|
||||
return result;
|
||||
}
|
||||
|
||||
static McuPackage *createRGLPackage()
|
||||
{
|
||||
const char envVar[] = "RGL_DIR";
|
||||
|
||||
QString defaultPath;
|
||||
if (qEnvironmentVariableIsSet(envVar)) {
|
||||
defaultPath = qEnvironmentVariable(envVar);
|
||||
} else if (Utils::HostOsInfo::isWindowsHost()) {
|
||||
defaultPath = QDir::rootPath() + "Renesas_Electronics/D1x_RGL";
|
||||
if (QFileInfo::exists(defaultPath)) {
|
||||
const QFileInfoList subDirs =
|
||||
QDir(defaultPath).entryInfoList({QLatin1String("rgl_ghs_D1Mx_*")},
|
||||
QDir::Dirs | QDir::NoDotAndDotDot);
|
||||
if (subDirs.count() == 1)
|
||||
defaultPath = subDirs.first().filePath() + '/';
|
||||
}
|
||||
}
|
||||
|
||||
auto result = new McuPackage(
|
||||
"Renesas Graphics Library",
|
||||
defaultPath,
|
||||
{},
|
||||
"RGL");
|
||||
result->setEnvironmentVariableName(envVar);
|
||||
return result;
|
||||
}
|
||||
|
||||
static McuPackage *createStm32CubeFwF7SdkPackage()
|
||||
{
|
||||
auto result = new McuPackage(
|
||||
@@ -180,22 +224,25 @@ void hardcodedTargetsAndPackages(const Utils::FilePath &dir, QVector<McuPackage
|
||||
QVector<McuTarget *> *mcuTargets)
|
||||
{
|
||||
McuToolChainPackage* armGccPackage = Sdk::createArmGccPackage();
|
||||
McuToolChainPackage *ghsToolchainPackage = createGhsToolchainPackage();
|
||||
McuToolChainPackage* desktopToolChainPackage = createDesktopToolChainPackage();
|
||||
McuPackage* stm32CubeFwF7SdkPackage = Sdk::createStm32CubeFwF7SdkPackage();
|
||||
McuPackage* stm32CubeProgrammerPackage = Sdk::createStm32CubeProgrammerPackage();
|
||||
McuPackage* evkbImxrt1050SdkPackage = Sdk::createEvkbImxrt1050SdkPackage();
|
||||
McuPackage *mcuXpressoIdePackage = createMcuXpressoIdePackage();
|
||||
McuPackage *rglPackage = createRGLPackage();
|
||||
|
||||
QVector<McuPackage*> stmEvalPackages = {
|
||||
armGccPackage, stm32CubeProgrammerPackage};
|
||||
QVector<McuPackage*> nxpEvalPackages = {
|
||||
armGccPackage, mcuXpressoIdePackage};
|
||||
QVector<McuPackage*> renesasEvalPackages = {
|
||||
armGccPackage, mcuXpressoIdePackage};
|
||||
ghsToolchainPackage, rglPackage};
|
||||
QVector<McuPackage*> desktopPackages = {};
|
||||
*packages = {
|
||||
armGccPackage, desktopToolChainPackage, stm32CubeFwF7SdkPackage, stm32CubeProgrammerPackage,
|
||||
evkbImxrt1050SdkPackage, mcuXpressoIdePackage};
|
||||
armGccPackage, desktopToolChainPackage, ghsToolchainPackage,
|
||||
stm32CubeFwF7SdkPackage, stm32CubeProgrammerPackage, evkbImxrt1050SdkPackage,
|
||||
mcuXpressoIdePackage, rglPackage};
|
||||
|
||||
const QString vendorStm = "STM";
|
||||
const QString vendorNxp = "NXP";
|
||||
@@ -212,7 +259,7 @@ void hardcodedTargetsAndPackages(const Utils::FilePath &dir, QVector<McuPackage
|
||||
{vendorNxp, {"MIMXRT1050-EVK"}, nxpEvalPackages, armGccPackage, {16}},
|
||||
{vendorNxp, {"MIMXRT1064-EVK"}, nxpEvalPackages, armGccPackage, {16}},
|
||||
{vendorQt, {"Qt"}, desktopPackages, desktopToolChainPackage, {32}},
|
||||
{vendorRenesas, {"RH850-D1M1A"}, renesasEvalPackages, armGccPackage, {32}},
|
||||
{vendorRenesas, {"RH850-D1M1A"}, renesasEvalPackages, ghsToolchainPackage, {32}},
|
||||
{vendorStm, {"STM32F469I-DISCOVERY"}, stmEvalPackages, armGccPackage, {24}},
|
||||
{vendorStm, {"STM32F7508-DISCOVERY"}, stmEvalPackages, armGccPackage, {32, 16}},
|
||||
{vendorStm, {"STM32F769I-DISCOVERY"}, stmEvalPackages, armGccPackage, {32}},
|
||||
|
||||
Reference in New Issue
Block a user