0

I just inherited a project that is based on the NXP SDK samples, (not quite sure which one). It is currently being built with µVision 4; but I would like to convert the build system to use avr-gcc or similar.

Code Excerpts

This is the first few lines of one of the .uvopt files.

<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<ProjectOpt xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="project_opt.xsd">

  <SchemaVersion>1.0</SchemaVersion>

  <Header>### uVision Project, (C) Keil Software</Header>

This is the first few lines of one of the .uvproj files.

<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<Project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="project_proj.xsd">

  <SchemaVersion>1.1</SchemaVersion>

  <Header>### uVision Project, (C) Keil Software</Header>

This is the first few lines of one of the .scvd files.

<?xml version="1.0" encoding="utf-8"?>

<component_viewer schemaVersion="0.1" xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="Component_Viewer.xsd">

This is part of a comment block in of one of the source files.

 * Copyright(C) 2015 NXP Semiconductors N.V.
 * All rights reserved.
 *
 * $Rev: 1.0 $

Research

Keil forums:

NXP Product page:

Other similar questions:

oxr463
  • 111
  • 1
  • 1
  • 9
  • 1
    Some of these companies... NXP's solution for their *ordinary* ARM parts is LPCXpresso/MCUXpresso which are multi-platform Eclipse & GCC solutions. Somehow this part is different, likely either an acquisition from an organization that did things differently or a BLE stack with odd licensing... – Chris Stratton Jul 20 '19 at 23:35

2 Answers2

1

It appears that the QN9020 has a Cortex-M processor core. It is certainly possible to develop software for a Cortex-M using a gcc cross-compiler running under Linux. I've done this for other NXP ARM processors many times.

It appears that the QN9020 "mini DK" development boards have a dedicated J-Link interface so you should be able to use any generic SWD debugging interface. The J-Link is a good one.

So, it looks like it is possible to develop your code under Linux. Having said that, there may be a significant amount of effort involved in creating all of the support libraries and include files for your particular device. It would be a great learning experience....good luck!

Elliot Alderson
  • 31,192
  • 5
  • 29
  • 67
  • What libraries do you think I'll need? – oxr463 Jun 23 '19 at 23:26
  • At the very least I think you will need a Hardware Abstraction Layer...some header files that define the addresses and datatypes of the hardware registers in the peripherals...UART, timers, etc. Beyond that it will depend on what kind of applications you want to create. – Elliot Alderson Jun 24 '19 at 01:09
  • The application is already developed, but a majority of the files contain a comment stating they are copyrighted as part of the SDK, as mentioned previously. But I need to be able to compile it without using either µVision 4 or Windows. – oxr463 Jun 24 '19 at 01:56
  • Now you have a **legal** question. You will need to go somewhere else for advice on that. – Elliot Alderson Jun 24 '19 at 10:38
  • Sorry for the misunderstanding, the only reason I mentioned the copyright headers is because it contains a license which states that it is part of some sample. I should update the post with an example to make it clearer. To rephrase my previous comment, I simply need to compile the project; It already does what it needs to do. – oxr463 Jun 24 '19 at 12:00
0

As it turns out, µVision 4 runs under wine with minimal issues.

Caveats

  • The splash screen that opens when loading the IDE has issues running in Gnome Shell. I got around this by switching to XFCE4.

  • I still haven't figured out how to flash directly from the IDE; I'm using J-Link Flash Download, which supports Linux natively!

Resources

Additionally,

Note: downloads require user to enter contact information, but there doesn't appear to be any input validation in place.

oxr463
  • 111
  • 1
  • 1
  • 9