Commit Graph

67 Commits

Author SHA1 Message Date
Brennan Ashton
9f1017feb3 board/freedom-k64f: Add usbdev support with cdcacm example 2021-02-14 19:51:34 -08:00
Philippe Coval
5394c8ae64 freedom-k64f/demo: Enable netcat app
Change-Id: I98e72d341f46c2e03efdb6cc93124a2f49613f19
Relate-to: https://github.com/apache/incubator-nuttx/issues/1988
Relate-to: https://github.com/apache/incubator-nuttx-apps/pull/482
Relate-to: https://github.com/rzr/aframe-smart-home/issues/3
Forwarded: https://github.com/apache/incubator-nuttx/pull/2333
Signed-off-by: Philippe Coval <rzr@users.sf.net>
2020-11-18 11:58:27 -03:00
Philippe Coval
b3c2873ef1 freedom-k64f/demo: Enable TCP for netcat
Change-Id: Ie40df592529c3adfa478a71f9ff5315cb8b0c3d6
Relate-to: https://github.com/apache/incubator-nuttx/issues/1988
Relate-to: https://github.com/apache/incubator-nuttx-apps/pull/482
Relate-to: https://github.com/rzr/aframe-smart-home/issues/3
Forwarded: https://github.com/apache/incubator-nuttx/pull/2333
Signed-off-by: Philippe Coval <rzr@users.sf.net>
2020-11-18 11:58:27 -03:00
chao.an
b88561299b make/expression: improving up asm/C/C++ compile times
In the current compilation environment, the recursive assignment(=) for compile
flags will be delayed until every file is actually need to be compile.

For example:
--------------------------------------------------------------------------------
arch/arm/src/Makefile:

INCLUDES += ${shell $(INCDIR) "$(CC)" $(ARCH_SRCDIR)$(DELIM)chip}
INCLUDES += ${shell $(INCDIR) "$(CC)" $(ARCH_SRCDIR)$(DELIM)common}
INCLUDES += ${shell $(INCDIR) "$(CC)" $(ARCH_SRCDIR)$(DELIM)$(ARCH_SUBDIR)}
INCLUDES += ${shell $(INCDIR) "$(CC)" $(TOPDIR)$(DELIM)sched}

CPPFLAGS += $(INCLUDES) $(EXTRAFLAGS)
CFLAGS += $(INCLUDES) $(EXTRAFLAGS)
CXXFLAGS += $(INCLUDES) $(EXTRAFLAGS)
AFLAGS += $(INCLUDES) $(EXTRAFLAGS)
--------------------------------------------------------------------------------

All compilation options will be included recursively,
which will be delayed until the compilation options are actually used:

tools/Config.mk:

--------------------------------------------------------------------------------
define COMPILE
  @echo "CC: $1"
  $(Q) $(CC) -c $(CFLAGS) $($(strip $1)_CFLAGS) $1 -o $2
endef
--------------------------------------------------------------------------------

All compile flags to be reexecuted $(INCDIR) as long as one file needs to be compiled,
but in fact, the compilation options have not changed in the current directory.

So the we recommand to change the syntax of assignment
From
    Recursive (=)
To
    Simple    (:=)

In this way, we can ensure that all compilation options are expanded only once and reducing repeated works.

Signed-off-by: chao.an <anchao@xiaomi.com>
2020-11-02 07:53:53 -08:00
Philippe Coval
bc11d14d08 freedom-k64f/demo: Support DHCP renew tool
Usage:

    nsh> ifconfig

    eth0    Link encap:Ethernet HWaddr 52:13:FF:FF:FF:FF at UP
            inet addr:10.0.0.2 DRaddr:10.0.0.1 Mask:255.255.255.0

    nsh> renew eth0 && ifconfig

    eth0    Link encap:Ethernet HWaddr 52:13:FF:FF:FF:FF at UP
            inet addr:192.168.1.42 DRaddr:192.168.1.254 Mask:255.255.255.0

CONFIG_NETDB_DNSCLIENT is needed for

    apps/netutils/netinit/netinit.c:659: \
    undefined reference to `netlib_set_ipv4dnsaddr'

Change-Id: I54b8495637baf0f3f28abf67d4d4ce861ef49ced
Bug: https://github.com/apache/incubator-nuttx/issues/1988
Forwarded: https://github.com/apache/incubator-nuttx/pulls/rzr
Signed-off-by: Philippe Coval <rzr@users.sf.net>
2020-10-23 10:34:57 +08:00
Philippe Coval
e2274a4194 freedom-k64f/demo: Support Ethernet
It was tested using:

  nsh> ifconfig
  eth0    Link encap:Ethernet HWaddr 52:13:FF:FF:FF:FF at DOWN
          inet addr:10.0.0.2 DRaddr:10.0.0.1 Mask:255.255.255.0

All flags are needed to prevent build failures like:

    chip/kinetis_enet.c:181:4:\
    error: #error "Unrecognized or missing PHY selection"

    netlib_setifstatus.c: In function 'netlib_ifup':
    netlib_setifstatus.c:83:27: \
    error: 'NETLIB_SOCK_TYPE' undeclared (first use in this function);

Change-Id: I9496528ae09f6244d73ab77dbcd307ced95f46fd
Bug: https://github.com/apache/incubator-nuttx/pull/1988
Forwarded: https://github.com/apache/incubator-nuttx/pull/2066
Signed-off-by: Philippe Coval <rzr@users.sf.net>
2020-10-23 00:34:17 +08:00
Philippe Coval
c39e380102 freedom-k64f/demo: Enable EXAMPLES_FXOS8700CQ
Depends on other flags that will be enabled automatically by kconfig:

  CONFIG_SENSORS=y
  CONFIG_SENSORS_FXOS8700CQ=y

Change-Id: Ic9bfbd02cca9f2fd4b1f1fb538100865a1c497ff
Bug: https://github.com/apache/incubator-nuttx/pull/1999
Forwarded: https://github.com/apache/incubator-nuttx/pulls/rzr
Signed-off-by: Philippe Coval <rzr@users.sf.net>
2020-10-22 22:33:35 +08:00
Philippe Coval
d90ef8374b freedom-k64f: Enable SENSORS_FXOS8700CQ in demo config
Testing this flag in the CI pipeline

Change-Id: I46bf0d6f13d1d45e196e69733776f002f080e2ff
Bug: https://github.com/apache/incubator-nuttx/pull/1999
Forwarded: https://github.com/apache/incubator-nuttx/pulls/rzr
Signed-off-by: Philippe Coval <rzr@users.sf.net>
2020-10-22 00:48:24 +08:00
Philippe Coval
0e431e6bf0 freedom-k64f/demo: Enable CONFIG_SENSORS
This change is mostly for testing codebase

Change-Id: I50a024dd80661932bfb06aed5be2b4addbbdee8a
Bug: https://github.com/apache/incubator-nuttx/pull/1999
Forwarded: https://github.com/apache/incubator-nuttx/pulls/rzr
Signed-off-by: Philippe Coval <rzr@users.sf.net>
2020-10-21 21:29:10 +08:00
Philippe Coval
17e624eae4 freedom-k64f: Add I2C to demo image
Both flag were selected manualy from menuconfig

Usage:

    nsh> ls /dev/i2c0

    nsh> i2c bus
    BUS   EXISTS?
    Bus 0: YES

    nsh> i2c dev 0 0x7F
         0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
    00: 00 -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    10: -- -- -- -- -- -- -- -- -- -- -- -- -- 1d -- --

Change-Id: I86c68753609c521af9710190397ef492ae562e38
Bug: https://github.com/apache/incubator-nuttx/pull/1999
Forwarded: # https://github.com/apache/incubator-nuttx/pull/2047
Signed-off-by: Philippe Coval <rzr@users.sf.net>
2020-10-21 13:36:55 +08:00
Xiang Xiao
eb4121ce38 Change all 'Nuttx' to 'NuttX'
Unify the naming convention

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2020-10-20 01:45:06 -07:00
Philippe Coval
bc14716d03 freedom-k64f: Regenerate demo/defconfig
With default settings,
it has been verified using:

    ./tools/refresh.sh --silent freedom-k64f/demo

Change-Id: I3cb96b82a392ac169d7887f5afda37a8b5daf992
Bug: https://github.com/apache/incubator-nuttx/issues/1988
Forwarded: https://github.com/apache/incubator-nuttx/pull/2037
Signed-off-by: Philippe Coval <rzr@users.sf.net>
2020-10-19 21:19:00 -07:00
Philippe Coval
bce251a791 freedom-k64f: Add demo configuration
Minimal configuration.

Each feature will added one after one
to track configuration flags.

Change-Id: Iab8aff1d489a518b6050ecba0f0b950a8b27745b
Bug: https://github.com/apache/incubator-nuttx/issues/1988
Forwarded: https://github.com/apache/incubator-nuttx/pull/2037
Signed-off-by: Philippe Coval <rzr@users.sf.net>
2020-10-19 21:19:00 -07:00
Philippe Coval
80be4a5d3c freedom-k64f: Fix k64_buttons.c
Change-Id: I0c9f8903513fdbce05e9dc03a3b6c772f6920002
Bug: https://github.com/apache/incubator-nuttx/pull/1999
Signed-off-by: Philippe Coval <rzr@users.sf.net>
2020-10-18 19:23:56 -04:00
Philippe Coval
54bb98232e freedom-k64f: Lint freedom-k64f.h
Change-Id: I29e2ae0c003353840b79e8b190871a6b08afc86a
Signed-off-by: Philippe Coval <rzr@users.sf.net>
2020-10-18 21:06:05 +08:00
Philippe Coval
08c1e4aadc freedom-k64f: Declare k64_i2cdev_initialize function
This will suppress a warning.

For some reason if declared weak,
it's not properly resolved at runtime,
this will need more investigations, any clues ?

Change-Id: I3cc3b7d145c7b32db20f5f2cbf4314ac20dba588
Forwarded: https://github.com/apache/incubator-nuttx/pulls/rzr
Signed-off-by: Philippe Coval <rzr@users.sf.net>
2020-10-18 21:06:05 +08:00
Philippe Coval
dfb626a215 freedom-k64f: Register on board sensor driver
Change-Id: I4f3ff16fae994250f62537cd0c3021465db1189c
Forwarded: https://github.com/apache/incubator-nuttx/pulls/rzr
Bug: https://github.com/apache/incubator-nuttx/pull/1999
Last-update: 2020-10-16
Signed-off-by: Philippe Coval <rzr@users.sf.net>
2020-10-18 02:33:51 +08:00
Philippe Coval
35fa8bdfca freedom-k64f: Add I2C initial support
It was checked using i2c tool and onboard sensor:

    nsh> i2c bus
    Bus 0: YES

    nsh> i2c dev 1 0x7F
    10: -- -- -- -- -- -- -- -- -- -- -- -- -- 1d -- --

    nsh> i2c get -a 1d -r 0d
    #| READ Bus: 0 Addr: 1d Subaddr: 0d Value: c7

Sensor driver to come next.

Feature should be enabled using:

    CONFIG_SYSTEM_I2CTOOL=y
    CONFIG_KINETIS_I2C0=y

Change-Id: I4f3ff16fae994250f62537cd0c3021465db1189c
Forwarded: https://github.com/apache/incubator-nuttx/pull/1982/
Signed-off-by: Philippe Coval <rzr@users.sf.net>
2020-10-14 15:02:14 -03:00
Philippe Coval
8f9cd8832d freedom-k64f: Add renew DHCP client for netnsh
Also enable ifup, use USB console and create raw image.

Windows is not mandatory, I use linux as host
so defconfig can rely on defaults.

Change-Id: Ic0e5f79f28facb6eff1d9831bcb31e1ff329a5aa
Forwarded: https://github.com/apache/incubator-nuttx/pulls/rzr
Signed-off-by: Philippe Coval <rzr@users.sf.net>
2020-10-14 07:31:09 +02:00
Philippe Coval
fff15f1b93 freedom-k64f: Support raw binary firmware format
Then it can easly deployed using USB masstorage
(same as on embed)

Forwarded: https://github.com/apache/incubator-nuttx/pulls/rzr
Change-Id: I62381d3f571fbc6e4716fa01d6974954f9193075
Signed-off-by: Philippe Coval <rzr@users.sf.net>
2020-10-13 15:30:50 +08:00
Philippe Coval
b76b3b6f3d freedom-k64f: Include kinetis.h for resources macros
Change-Id: I37560525678b820668abcb6e4aae93b978797066
Forwarded: https://github.com/apache/incubator-nuttx/pulls/rzr
Signed-off-by: Philippe Coval rzr@users.sf.net
2020-10-13 02:34:51 +08:00
Philippe Coval
cabaa10428 freedom-k64f: Init PWM only if enabled
Aligned to k28f.

Change-Id: I1b384ee69dd1b87268545ef6343acc63f29b2ae6
Forwarded: https://github.com/apache/incubator-nuttx/pull/1969
Signed-off-by: Philippe Coval <rzr@users.sf.net>
2020-10-13 01:52:40 +08:00
Philippe Coval
a377c742a6 freedom-k64f: Lint code for checkpatch
Change-Id: Ie44b199af21e7a483c5b07539db9537e8bcb9b51
Signed-off-by: Philippe Coval <rzr@users.sf.net>
2020-10-13 00:39:44 +08:00
Philippe Coval
0081b75d20 freedom-k64f: Declare missing NUM_BUTTONS
Change-Id: I99429d0e6d8bccc18358465eb192e739bf82881a
Forwarded: https://github.com/apache/incubator-nuttx/pull/1968
Signed-off-by: Philippe Coval <rzr@users.sf.net>
2020-10-13 00:39:44 +08:00
Philippe Coval
718d928342 freedom-k64f: Close statement with semicolon in board_buttons
More changes to come

Change-Id: Ie60fd97083c4bc1b5b631d2e812b93bff304760a
Forwarded: https://github.com/apache/incubator-nuttx/pull/1967
Signed-off-by: Philippe Coval <rzr@users.sf.net>
2020-10-13 00:18:40 +08:00
Xiang Xiao
b0797263ca libc/stdio: Allocate file_struct dynamically
1.Reduce the default size of task_group_s(~512B each task)
2.Scale better between simple and complex application

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
Change-Id: Ia872137504fddcf64d89c48d6f0593d76d582710
2020-09-11 17:58:17 +08:00
Xiang Xiao
a0ce81d659 sched/wdog: Don't dynamically allocate wdog_s
to save the preserved space(1KB) and also avoid the heap overhead

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
Change-Id: I694073f68e1bd63960cedeea1ddec441437be025
2020-08-11 12:28:55 -06:00
Xiang Xiao
154852acb5 sched/mqueue: Reduce the initial memory consumption
Change the preallocated message and descriptor from 32/24 to 4.
The total size is reduce from 1892 to 532

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
Change-Id: I79d199465daef678986868f773876289859f42fc
2020-08-10 08:07:50 +02:00
Xiang Xiao
e1d3627bb1 sched/wdog: Change the default value of MAX_WDOGPARMS from 4 to 2
since the maximum number of argument pass to wd_start in the whole
code base is 2 and change CONFIG_MAX_WDOGPARMS in some defconfig
from 1 to 2 oherwise pthread_condclockwait will fail

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
Change-Id: Ib6cb28b8c0722058849e7be916e164513431d21c
2020-08-06 10:36:22 -06:00
Xiang Xiao
b329e2377d boards: Move toolchain related variables to Toolchain.defs
1.It make sense to let Toolchain.defs give the default value
2.The board can still change if the default isn't suitable
3.Avoid the same definition spread more than 200 Make.defs

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
Change-Id: Ic2649f1c7689bcf59c105ca8db61cad45b6e0e64
2020-07-20 17:10:37 +01:00
Xiang Xiao
f5311de6b4 boards: Remove the unused ARCHCCVERSION and ARCHCCMAJOR
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
Change-Id: I22d546693139c59c8c899479887a5f04d65edbd6
2020-07-16 11:03:53 -07:00
Xiang Xiao
ee875b2a26 boards: Move HOSTCC/HOSTCFLAGS to tools/Config.mk
Make.defs under board folder can still overwrite the default as needed

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
Change-Id: I1c300a8ace4b54d475ef8d398661ed65ca273a2e
2020-07-15 19:14:58 +01:00
Xiang Xiao
d32e9c38df boards: Move the C/C++ search path to the common place
so all boards support uClibc++/libc++ automatically

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
Change-Id: Ibe6fafbec57f7acb26ea6188a3e9923ea82295c5
2020-07-13 15:11:12 -03:00
Xiang Xiao
7a18ebe459 drivers/led: Extend userled_set_t from 8bits to 32bits
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
Change-Id: I5701b42ff930998198b1d915316cc4f2d085d4eb
2020-06-07 19:28:10 +01:00
Xiang Xiao
76965474ac drivers/led: Let board_userled_initialize return the led number
so the lower half driver don't need include the specific board.h

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
Change-Id: Icf6638a6865bac42150b5957376e55909f041d40
2020-06-07 19:28:10 +01:00
Xiang Xiao
a61b8a13c6 Fix nxstyle issue
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2020-06-07 19:28:10 +01:00
Xiang Xiao
1b47aa1cb2 drivers/button: Let board_button_initialize return the button number
so the lower half driver don't need include the specific board.h

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
Change-Id: I2ff5c30049a5c5e8ee90baea56e9f4cb1a8a4f87
2020-06-07 19:28:10 +01:00
Gregory Nutt
1414c55c45 boards/arm: Leverage PR 1150 to other ARM Make.defs 2020-05-30 20:09:02 +01:00
Xiang Xiao
e83c1400b6 build: Move BOARD_DIR definition to common place
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2020-05-24 20:20:12 +01:00
Xiang Xiao
7e5b0f81e9 build: Replace -I with INCDIR
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2020-05-24 20:20:12 +01:00
Xiang Xiao
23668a4b9b build: Remove the empty variable assignment
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2020-05-24 08:24:13 -06:00
Xiang Xiao
1a95cce1a3 build: Move .config check to the top Makefile
remove the workaround to handle the inexistence of .config/Make.defs

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2020-05-20 17:57:34 +01:00
Xiang Xiao
7faf3c0254 build: replace ${TOPDIR} with $(TOPDIR) in Makefile
make the usage consistence

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2020-05-19 19:23:18 +01:00
Xiang Xiao
567962bd62 build: Move the extension definition to common place
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2020-05-19 19:23:18 +01:00
Xiang Xiao
8b42ee421a build: Move MKDEP definition to common place
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2020-05-19 19:23:18 +01:00
Xiang Xiao
9ec9431706 build: Move DIRLINK/DIRUNLINK definition to common place
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2020-05-19 19:23:18 +01:00
Xiang Xiao
bd656888f2 build: Replace WINTOOL with CYGWIN_WINTOOL Kconfig
so the correct value can be determinated by Kconfig system automatically

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2020-05-18 15:02:55 -06:00
Nathan Hartman
8d985819b3 Fix typos
Comments only. No functional changes.
2020-05-14 10:49:44 -06:00
Gregory Nutt
801b9d6e5f arch/arm: Remove support for old redundant toolchains.
Remove support for the Codesourcery, Atollic, DevKitArm, Raisonance, and CodeRed toolchains.  Not only are these tools old and no longer used but they are all equivalent to standard ARM EABI toolchains.  Retaining specific support has no effect (they are still supported, but now just as generic EABI toolchains).
2020-05-13 18:41:10 +01:00
Gregory Nutt
037c9ea0a4 arch/arm: Rename all up_*.h files to arm_*.h
Summary

The naming standard at https://cwiki.apache.org/confluence/display/NUTTX/Naming+FAQ requires that all MCU-private files begin with the name of the architecture, not up_.

This PR addresses only these name changes for the up_*.h files.  There are only three, but almost 1680 files that include them:

    up_arch.h
    up_internal.h
    up_vfork.h

The only change to the files is from including up_arch.h to arm_arch.h (for example).

The entire job required to be compatible with that Naming Convention will also require changing the naming of the up_() functions that are used only within arch/arm and board/arm.

Impact

There should be not impact of this change (other that one step toward more consistent naming).

Testing

stm32f4discovery:netnsh
2020-05-01 03:43:44 +01:00