diff mbox

cc-tool: new package

Message ID 1430142129-32750-1-git-send-email-marcin@bis.org.pl
State Superseded
Headers show

Commit Message

Marcin Bis April 27, 2015, 1:42 p.m. UTC
cc-tool provides support for Texas Instruments CC Debugger

Signed-off-by: Marcin Bis <marcin@bis.org.pl>
---
 package/Config.in            |  1 +
 package/cc-tool/Config.in    | 21 +++++++++++++++++++++
 package/cc-tool/cc-tool.hash |  3 +++
 package/cc-tool/cc-tool.mk   | 13 +++++++++++++
 4 files changed, 38 insertions(+)
 create mode 100644 package/cc-tool/Config.in
 create mode 100644 package/cc-tool/cc-tool.hash
 create mode 100644 package/cc-tool/cc-tool.mk

Comments

Thomas Petazzoni April 27, 2015, 3:31 p.m. UTC | #1
Dear Marcin Bis,

Thanks for this contribution! See some comment sbelow.

On Mon, 27 Apr 2015 15:42:09 +0200, Marcin Bis wrote:
> cc-tool provides support for Texas Instruments CC Debugger
> 
> Signed-off-by: Marcin Bis <marcin@bis.org.pl>

It is not entirely clear: is it a tool you run on your target device,
or on your host/development machine?

Your package is for the target, but I would intuitively expect a
debugger to run on the host/development machine. How does it work?

> diff --git a/package/cc-tool/Config.in b/package/cc-tool/Config.in
> new file mode 100644
> index 0000000..f62200d
> --- /dev/null
> +++ b/package/cc-tool/Config.in
> @@ -0,0 +1,21 @@
> +config BR2_PACKAGE_CC_TOOL
> +	bool "cc-tool"
> +	depends on BR2_INSTALL_LIBSTDCPP
> +	depends on BR2_TOOLCHAIN_HAS_THREADS
> +	depends on BR2_LARGEFILE
> +	select BR2_PACKAGE_LIBUSB
> +	select BR2_PACKAGE_BOOST
> +	select BR2_PACKAGE_BOOST_PROGRAM_OPTIONS
> +	select BR2_PACKAGE_BOOST_SYSTEM
> +	select BR2_PACKAGE_BOOST_REGEX
> +	select BR2_PACKAGE_BOOST_FILESYSTEM
> +	select BR2_PACKAGE_BOOST_SIGNALS

So you're selecting libusb and boost here.

> +	help
> +	  cc-tool provides support for Texas Instruments CC Debugger
> +	  for Linux OS in order to program 8051-based System-On-Chip
> +	  devices: CC254x CC253x CC243x CC251x CC111x
> +
> +	  http://sourceforge.net/projects/cctool/
> +
> +comment "cc-tool needs a toolchain w/ C++, largefile, threads"
> +	depends on !BR2_INSTALL_LIBSTDCPP || !BR2_LARGEFILE || !BR2_TOOLCHAIN_HAS_THREADS
> diff --git a/package/cc-tool/cc-tool.hash b/package/cc-tool/cc-tool.hash
> new file mode 100644
> index 0000000..81844ee
> --- /dev/null
> +++ b/package/cc-tool/cc-tool.hash
> @@ -0,0 +1,3 @@
> +# From http://sourceforge.net/projects/cctool/files/
> +sha1 f313e55f019ea5338438633f5b5e689b699343e1  cc-tool-0.26-src.tgz
> +md5 26960676f3e6264e612c299fbf8ec5ea  cc-tool-0.26-src.tgz
> diff --git a/package/cc-tool/cc-tool.mk b/package/cc-tool/cc-tool.mk
> new file mode 100644
> index 0000000..9a6ee6e
> --- /dev/null
> +++ b/package/cc-tool/cc-tool.mk
> @@ -0,0 +1,13 @@
> +################################################################################
> +#
> +# cc-tool
> +#
> +################################################################################
> +
> +CC_TOOL_VERSION = 0.26
> +CC_TOOL_SITE = http://downloads.sourceforge.net/project/cctool
> +CC_TOOL_SOURCE = cc-tool-$(CC_TOOL_VERSION)-src.tgz
> +CC_TOOL_LICENSE = GPLv2
> +CC_TOOL_LICENSE_FILES = COPYING

But you don't depend on them anywhere here. So you are not guaranteed
that they will be built before cc-tool.

> +
> +$(eval $(autotools-package))

Other than that, looks good. I've checked the license info, it looks
good to me. The configure script doesn't provide any option for
optional things, so it looks alright.

Thanks!

Thomas
Marcin Bis April 27, 2015, 7:46 p.m. UTC | #2
Hi Thomas,

Thank you for comments.

On 04/27/2015 05:31 PM, Thomas Petazzoni wrote:
> Dear Marcin Bis,
>
> Thanks for this contribution! See some comment sbelow.
>
> On Mon, 27 Apr 2015 15:42:09 +0200, Marcin Bis wrote:
>> cc-tool provides support for Texas Instruments CC Debugger
>>
>> Signed-off-by: Marcin Bis <marcin@bis.org.pl>
>
> It is not entirely clear: is it a tool you run on your target device,
> or on your host/development machine?
>
> Your package is for the target, but I would intuitively expect a
> debugger to run on the host/development machine. How does it work?

cc-tool is used for interacting with Texas Instrument's Debugger and 
Programmer for RF System-on-Chips.
http://www.ti.com/tool/cc-debugger

The device is used for programming (and debugging) firmware on various 
TI Low Power RF System-on-Chips (based on 8051 microcontrolers).

I am using it for re-flashing such chips from ARM-based embedded devices 
(running Buildroot generated os) - so I put it under "tools for target" 
category.

TI chips do not have sufficient resources to run Linux on them, so 
adding cc-tool as a host tools in Buildroot does not make sense (in my 
opinion) - the tool has no use on Buildroot generated images.

>> diff --git a/package/cc-tool/Config.in b/package/cc-tool/Config.in
>> new file mode 100644
>> index 0000000..f62200d
>> --- /dev/null
>> +++ b/package/cc-tool/Config.in
>> @@ -0,0 +1,21 @@
>> +config BR2_PACKAGE_CC_TOOL
>> +	bool "cc-tool"
>> +	depends on BR2_INSTALL_LIBSTDCPP
>> +	depends on BR2_TOOLCHAIN_HAS_THREADS
>> +	depends on BR2_LARGEFILE
>> +	select BR2_PACKAGE_LIBUSB
>> +	select BR2_PACKAGE_BOOST
>> +	select BR2_PACKAGE_BOOST_PROGRAM_OPTIONS
>> +	select BR2_PACKAGE_BOOST_SYSTEM
>> +	select BR2_PACKAGE_BOOST_REGEX
>> +	select BR2_PACKAGE_BOOST_FILESYSTEM
>> +	select BR2_PACKAGE_BOOST_SIGNALS
>
> So you're selecting libusb and boost here.
>
>> +	help
>> +	  cc-tool provides support for Texas Instruments CC Debugger
>> +	  for Linux OS in order to program 8051-based System-On-Chip
>> +	  devices: CC254x CC253x CC243x CC251x CC111x
>> +
>> +	  http://sourceforge.net/projects/cctool/
>> +
>> +comment "cc-tool needs a toolchain w/ C++, largefile, threads"
>> +	depends on !BR2_INSTALL_LIBSTDCPP || !BR2_LARGEFILE || !BR2_TOOLCHAIN_HAS_THREADS
>> diff --git a/package/cc-tool/cc-tool.hash b/package/cc-tool/cc-tool.hash
>> new file mode 100644
>> index 0000000..81844ee
>> --- /dev/null
>> +++ b/package/cc-tool/cc-tool.hash
>> @@ -0,0 +1,3 @@
>> +# From http://sourceforge.net/projects/cctool/files/
>> +sha1 f313e55f019ea5338438633f5b5e689b699343e1  cc-tool-0.26-src.tgz
>> +md5 26960676f3e6264e612c299fbf8ec5ea  cc-tool-0.26-src.tgz
>> diff --git a/package/cc-tool/cc-tool.mk b/package/cc-tool/cc-tool.mk
>> new file mode 100644
>> index 0000000..9a6ee6e
>> --- /dev/null
>> +++ b/package/cc-tool/cc-tool.mk
>> @@ -0,0 +1,13 @@
>> +################################################################################
>> +#
>> +# cc-tool
>> +#
>> +################################################################################
>> +
>> +CC_TOOL_VERSION = 0.26
>> +CC_TOOL_SITE = http://downloads.sourceforge.net/project/cctool
>> +CC_TOOL_SOURCE = cc-tool-$(CC_TOOL_VERSION)-src.tgz
>> +CC_TOOL_LICENSE = GPLv2
>> +CC_TOOL_LICENSE_FILES = COPYING
>
> But you don't depend on them anywhere here. So you are not guaranteed
> that they will be built before cc-tool.

Fixing this.

>> +
>> +$(eval $(autotools-package))
>
> Other than that, looks good. I've checked the license info, it looks
> good to me. The configure script doesn't provide any option for
> optional things, so it looks alright.
>
> Thanks!
>
> Thomas
>
Thomas Petazzoni April 27, 2015, 9:10 p.m. UTC | #3
Dear Marcin Bis,

On Mon, 27 Apr 2015 21:46:26 +0200, Marcin Bis wrote:

> cc-tool is used for interacting with Texas Instrument's Debugger and 
> Programmer for RF System-on-Chips.
> http://www.ti.com/tool/cc-debugger
> 
> The device is used for programming (and debugging) firmware on various 
> TI Low Power RF System-on-Chips (based on 8051 microcontrolers).
> 
> I am using it for re-flashing such chips from ARM-based embedded devices 
> (running Buildroot generated os) - so I put it under "tools for target" 
> category.

Ok.

> TI chips do not have sufficient resources to run Linux on them, so 
> adding cc-tool as a host tools in Buildroot does not make sense (in my 
> opinion) - the tool has no use on Buildroot generated images.

This is not what a host tools is. A host tool runs on your PC, i.e
where you do the Buildroot build. For sure your PC has sufficient
resources to run cc-tool.

Thanks,

Thomas
Marcin Bis April 28, 2015, 7:35 a.m. UTC | #4
Hi Thoams,

On 04/27/2015 11:10 PM, Thomas Petazzoni wrote:
> Dear Marcin Bis,
>
> On Mon, 27 Apr 2015 21:46:26 +0200, Marcin Bis wrote:
>
>> cc-tool is used for interacting with Texas Instrument's Debugger and
>> Programmer for RF System-on-Chips.
>> http://www.ti.com/tool/cc-debugger
>>
>> The device is used for programming (and debugging) firmware on various
>> TI Low Power RF System-on-Chips (based on 8051 microcontrolers).
>>
>> I am using it for re-flashing such chips from ARM-based embedded devices
>> (running Buildroot generated os) - so I put it under "tools for target"
>> category.
>
> Ok.
>
>> TI chips do not have sufficient resources to run Linux on them, so
>> adding cc-tool as a host tools in Buildroot does not make sense (in my
>> opinion) - the tool has no use on Buildroot generated images.
>
> This is not what a host tools is. A host tool runs on your PC, i.e
> where you do the Buildroot build. For sure your PC has sufficient
> resources to run cc-tool.

As I understand, host-tools are intended for doing something with images 
generated by Buildroot e.g. flashing, generating fs images etc.

cc-tool does not fall under this category.
It is some how similar to openocd, but openocd can be used to debug 
bootloader/Linux kernel running on some SoC-s (so it perfectly makes 
sense here).
TI chips, which cc-tool talks to - are not able to run Linux at all.

Of course cc-tool can be added to Buildroot as a host tool too.
I can prepare the patch if you want.

My particular need at the moment is to have it as a tool for target.
>
> Thanks,
>
> Thomas
>
Thomas Petazzoni April 28, 2015, 8:02 a.m. UTC | #5
Dear Marcin Bis,

On Tue, 28 Apr 2015 09:35:54 +0200, Marcin Bis wrote:

> > This is not what a host tools is. A host tool runs on your PC, i.e
> > where you do the Buildroot build. For sure your PC has sufficient
> > resources to run cc-tool.
> 
> As I understand, host-tools are intended for doing something with images 
> generated by Buildroot e.g. flashing, generating fs images etc.

Right.

> cc-tool does not fall under this category.
> It is some how similar to openocd, but openocd can be used to debug 
> bootloader/Linux kernel running on some SoC-s (so it perfectly makes 
> sense here).

Indeed.

> TI chips, which cc-tool talks to - are not able to run Linux at all.

Ok, so what you mean is that those TI chips are typically not connected
to the development PC directly, but are generally connected to the
embedded system that runs Buildroot.

> Of course cc-tool can be added to Buildroot as a host tool too.
> I can prepare the patch if you want.

Nope, if you don't use it, don't do it. I'm fine with a target package
after the explanations you provided.

Thanks!

Thomas
diff mbox

Patch

diff --git a/package/Config.in b/package/Config.in
index 4e20e4d..12767d5 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -316,6 +316,7 @@  endmenu
 	source "package/avrdude/Config.in"
 	source "package/bcache-tools/Config.in"
 	source "package/biosdevname/Config.in"
+	source "package/cc-tool/Config.in"
 	source "package/cdrkit/Config.in"
 	source "package/cryptsetup/Config.in"
 	source "package/cwiid/Config.in"
diff --git a/package/cc-tool/Config.in b/package/cc-tool/Config.in
new file mode 100644
index 0000000..f62200d
--- /dev/null
+++ b/package/cc-tool/Config.in
@@ -0,0 +1,21 @@ 
+config BR2_PACKAGE_CC_TOOL
+	bool "cc-tool"
+	depends on BR2_INSTALL_LIBSTDCPP
+	depends on BR2_TOOLCHAIN_HAS_THREADS
+	depends on BR2_LARGEFILE
+	select BR2_PACKAGE_LIBUSB
+	select BR2_PACKAGE_BOOST
+	select BR2_PACKAGE_BOOST_PROGRAM_OPTIONS
+	select BR2_PACKAGE_BOOST_SYSTEM
+	select BR2_PACKAGE_BOOST_REGEX
+	select BR2_PACKAGE_BOOST_FILESYSTEM
+	select BR2_PACKAGE_BOOST_SIGNALS
+	help
+	  cc-tool provides support for Texas Instruments CC Debugger
+	  for Linux OS in order to program 8051-based System-On-Chip
+	  devices: CC254x CC253x CC243x CC251x CC111x
+
+	  http://sourceforge.net/projects/cctool/
+
+comment "cc-tool needs a toolchain w/ C++, largefile, threads"
+	depends on !BR2_INSTALL_LIBSTDCPP || !BR2_LARGEFILE || !BR2_TOOLCHAIN_HAS_THREADS
diff --git a/package/cc-tool/cc-tool.hash b/package/cc-tool/cc-tool.hash
new file mode 100644
index 0000000..81844ee
--- /dev/null
+++ b/package/cc-tool/cc-tool.hash
@@ -0,0 +1,3 @@ 
+# From http://sourceforge.net/projects/cctool/files/
+sha1 f313e55f019ea5338438633f5b5e689b699343e1  cc-tool-0.26-src.tgz
+md5 26960676f3e6264e612c299fbf8ec5ea  cc-tool-0.26-src.tgz
diff --git a/package/cc-tool/cc-tool.mk b/package/cc-tool/cc-tool.mk
new file mode 100644
index 0000000..9a6ee6e
--- /dev/null
+++ b/package/cc-tool/cc-tool.mk
@@ -0,0 +1,13 @@ 
+################################################################################
+#
+# cc-tool
+#
+################################################################################
+
+CC_TOOL_VERSION = 0.26
+CC_TOOL_SITE = http://downloads.sourceforge.net/project/cctool
+CC_TOOL_SOURCE = cc-tool-$(CC_TOOL_VERSION)-src.tgz
+CC_TOOL_LICENSE = GPLv2
+CC_TOOL_LICENSE_FILES = COPYING
+
+$(eval $(autotools-package))