Dear Fabio,

After i clean and rebuild mynewt it worked!

Thanks for your help.

Regards,

Then Yoong Ze


On 15/2/2017 7:06 AM, Fabio Utzig wrote:
The code you pasted works for me. Could you check if leaving nffs
enabled but not calling read_config/write_config still triggers the
exception?

On Tue, Feb 14, 2017, at 08:18 PM, then yon wrote:
Dear Fabio,

In the previous working version, i'm only included the followind:

pkg.deps:
      - "@apache-mynewt-core/fs/fs"
      - "@apache-mynewt-core/fs/nffs"

code:
     #include "fs/fs.h"
     #include "fs/fsutil.h"
     #include "nffs/nffs.h"
int write_config(void) { int rc; /* Create the parent directory. */ rc =
fs_mkdir("/cfg"); os_time_delay(1); if (rc != 0) { return -2; } //END if
// Create a file and write four bytes to it. rc =
fsutil_write_file("/cfg/config.txt <http://config.txt/>",
&system_cfg_desc.data_ch_addr <http://system_cfg_desc.data_ch_addr/>[0],
sizeof(SYSTEM_CONFIGURATION_DESC_T)); os_time_delay(1); return rc == 0 ?
0 : -1; } //END write_config int read_config() { uint32_t bytes_read;
int rc; /* Read up to 15 bytes from the start of the file. */ rc =
fsutil_read_file("/cfg/config.txt <http://config.txt/>", 0,
sizeof(system_cfg_desc), &system_cfg_desc.data_ch_addr
<http://system_cfg_desc.data_ch_addr/>[0], &bytes_read);
os_time_delay(1); return rc == 0 ? 0 : -1; } //END read_config


Thank you.

Regards,

Then Yoong Ze


On 14/2/2017 11:08 PM, Fabio Utzig wrote:
Hi,

FAT doesn't format a FS (I didn't enable) so it expects an already
formatted FS. FAT is also not appropriate to use with Flash if that's
what you're using, because it doesn't have a concept of "erase" and it
doesn't do wear leveling. I actualy only tested with MMC!

I will do some testing today to try to find what is causing your problem
with NFFS (or with no FS enabled).

What FS operations are you doing? Are you using any of the fs_* calls?
Could you copy/paste some of your FS usage code as a gist (or pastebin,
etc)?

Cheers,
Fabio Utzig

On Mon, Feb 13, 2017, at 02:57 AM, then yon wrote:
Dear Fabio,

The previous working project, i include fs/nffs package; but when i
include on latest mynewt straight away it gave me exception so i
disabled it (it gave me exception even all the filesystem code removed).

Below is the output with the fs/nffs included.

newt target dep blink_nordic Dependency graph (depender -->
[dependees]): * @apache-mynewt-core/compiler/arm-none-eabi-m4 --> [] *
@apache-mynewt-core/encoding/base64 --> [] * @apache-mynewt-core/fs/disk
--> [@apache-mynewt-core/kernel/os] * @apache-mynewt-core/fs/fs -->
[@apache-mynewt-core/fs/disk] * @apache-mynewt-core/fs/nffs -->
[@apache-mynewt-core/fs/fs @apache-mynewt-core/hw/hal
@apache-mynewt-core/kernel/os @apache-mynewt-core/sys/flash_map
@apache-mynewt-core/sys/log/full(api:log)
@apache-mynewt-core/sys/stats/full(api:stats)
@apache-mynewt-core/test/testutil @apache-mynewt-core/util/crc] *
@apache-mynewt-core/hw/bsp/nrf52dk -->
[@apache-mynewt-core/hw/drivers/uart/uart_hal
@apache-mynewt-core/hw/mcu/nordic/nrf52xxx
@apache-mynewt-core/libc/baselibc] * @apache-mynewt-core/hw/cmsis-core
--> [] * @apache-mynewt-core/hw/drivers/uart --> [] *
@apache-mynewt-core/hw/drivers/uart/uart_hal -->
[@apache-mynewt-core/hw/drivers/uart @apache-mynewt-core/hw/hal] *
@apache-mynewt-core/hw/hal --> [@apache-mynewt-core/kernel/os] *
@apache-mynewt-core/hw/mcu/nordic --> [@apache-mynewt-core/hw/cmsis-core
@apache-mynewt-core/hw/hal] * @apache-mynewt-core/hw/mcu/nordic/nrf52xxx
--> [@apache-mynewt-core/compiler/arm-none-eabi-m4
@apache-mynewt-core/hw/cmsis-core @apache-mynewt-core/hw/hal
@apache-mynewt-core/hw/mcu/nordic] * @apache-mynewt-core/kernel/os -->
[@apache-mynewt-core/sys/console/full(api:console)
@apache-mynewt-core/sys/sysinit @apache-mynewt-core/util/mem] *
@apache-mynewt-core/libc/baselibc --> [@apache-mynewt-core/kernel/os
@apache-mynewt-core/sys/console/full(api:console)] *
@apache-mynewt-core/sys/console/full -->
[@apache-mynewt-core/hw/drivers/uart @apache-mynewt-core/hw/hal
@apache-mynewt-core/kernel/os] * @apache-mynewt-core/sys/defs --> [] *
@apache-mynewt-core/sys/flash_map --> [@apache-mynewt-core/sys/defs
@apache-mynewt-core/sys/mfg] * @apache-mynewt-core/sys/log/full -->
[@apache-mynewt-core/kernel/os @apache-mynewt-core/sys/flash_map
@apache-mynewt-core/util/cbmem] * @apache-mynewt-core/sys/mfg -->
[@apache-mynewt-core/kernel/os @apache-mynewt-core/sys/flash_map] *
@apache-mynewt-core/sys/shell --> [@apache-mynewt-core/encoding/base64
@apache-mynewt-core/kernel/os
@apache-mynewt-core/sys/console/full(api:console)
@apache-mynewt-core/time/datetime @apache-mynewt-core/util/crc] *
@apache-mynewt-core/sys/stats/full --> [@apache-mynewt-core/kernel/os] *
@apache-mynewt-core/sys/sysinit --> [@apache-mynewt-core/kernel/os
@apache-mynewt-core/sys/flash_map] * @apache-mynewt-core/test/testutil
--> [@apache-mynewt-core/hw/hal @apache-mynewt-core/kernel/os
@apache-mynewt-core/sys/sysinit] * @apache-mynewt-core/time/datetime -->
[@apache-mynewt-core/kernel/os] * @apache-mynewt-core/util/cbmem -->
[@apache-mynewt-core/hw/hal @apache-mynewt-core/kernel/os] *
@apache-mynewt-core/util/crc --> [] * @apache-mynewt-core/util/mem -->
[@apache-mynewt-core/kernel/os] * apps/blinky -->
[@apache-mynewt-core/fs/fs @apache-mynewt-core/fs/nffs
@apache-mynewt-core/hw/hal @apache-mynewt-core/kernel/os
@apache-mynewt-core/sys/console/full @apache-mynewt-core/sys/log/full
@apache-mynewt-core/sys/shell @apache-mynewt-core/sys/stats/full] *
targets/blink_nordic --> []
sensmaster@sensmaster-Inspiron-3542:~/myNewtProject/mynewtresearch/myNewtProj$
newt target revdep blink_nordic Reverse dependency graph (dependee <--
[dependers]): * @apache-mynewt-core/compiler/arm-none-eabi-m4 <--
[@apache-mynewt-core/hw/mcu/nordic/nrf52xxx] *
@apache-mynewt-core/encoding/base64 <-- [@apache-mynewt-core/sys/shell]
* @apache-mynewt-core/fs/disk <-- [@apache-mynewt-core/fs/fs] *
@apache-mynewt-core/fs/fs <-- [@apache-mynewt-core/fs/nffs apps/blinky]
* @apache-mynewt-core/fs/nffs <-- [apps/blinky] *
@apache-mynewt-core/hw/cmsis-core <-- [@apache-mynewt-core/hw/mcu/nordic
@apache-mynewt-core/hw/mcu/nordic/nrf52xxx] *
@apache-mynewt-core/hw/drivers/uart <--
[@apache-mynewt-core/hw/drivers/uart/uart_hal
@apache-mynewt-core/sys/console/full] *
@apache-mynewt-core/hw/drivers/uart/uart_hal <--
[@apache-mynewt-core/hw/bsp/nrf52dk] * @apache-mynewt-core/hw/hal <--
[@apache-mynewt-core/fs/nffs
@apache-mynewt-core/hw/drivers/uart/uart_hal
@apache-mynewt-core/hw/mcu/nordic
@apache-mynewt-core/hw/mcu/nordic/nrf52xxx
@apache-mynewt-core/sys/console/full @apache-mynewt-core/test/testutil
@apache-mynewt-core/util/cbmem apps/blinky] *
@apache-mynewt-core/hw/mcu/nordic <--
[@apache-mynewt-core/hw/mcu/nordic/nrf52xxx] *
@apache-mynewt-core/hw/mcu/nordic/nrf52xxx <--
[@apache-mynewt-core/hw/bsp/nrf52dk] * @apache-mynewt-core/kernel/os <--
[@apache-mynewt-core/fs/disk @apache-mynewt-core/fs/nffs
@apache-mynewt-core/hw/hal @apache-mynewt-core/libc/baselibc
@apache-mynewt-core/sys/console/full @apache-mynewt-core/sys/log/full
@apache-mynewt-core/sys/mfg @apache-mynewt-core/sys/shell
@apache-mynewt-core/sys/stats/full @apache-mynewt-core/sys/sysinit
@apache-mynewt-core/test/testutil @apache-mynewt-core/time/datetime
@apache-mynewt-core/util/cbmem @apache-mynewt-core/util/mem apps/blinky]
* @apache-mynewt-core/libc/baselibc <--
[@apache-mynewt-core/hw/bsp/nrf52dk] *
@apache-mynewt-core/sys/console/full <--
[@apache-mynewt-core/kernel/os(api:console)
@apache-mynewt-core/libc/baselibc(api:console)
@apache-mynewt-core/sys/shell(api:console) apps/blinky] *
@apache-mynewt-core/sys/defs <-- [@apache-mynewt-core/sys/flash_map] *
@apache-mynewt-core/sys/flash_map <-- [@apache-mynewt-core/fs/nffs
@apache-mynewt-core/sys/log/full @apache-mynewt-core/sys/mfg
@apache-mynewt-core/sys/sysinit] * @apache-mynewt-core/sys/log/full <--
[@apache-mynewt-core/fs/nffs(api:log) apps/blinky] *
@apache-mynewt-core/sys/mfg <-- [@apache-mynewt-core/sys/flash_map] *
@apache-mynewt-core/sys/shell <-- [apps/blinky] *
@apache-mynewt-core/sys/stats/full <--
[@apache-mynewt-core/fs/nffs(api:stats) apps/blinky] *
@apache-mynewt-core/sys/sysinit <-- [@apache-mynewt-core/kernel/os
@apache-mynewt-core/test/testutil] * @apache-mynewt-core/test/testutil
<-- [@apache-mynewt-core/fs/nffs] * @apache-mynewt-core/time/datetime
<-- [@apache-mynewt-core/sys/shell] * @apache-mynewt-core/util/cbmem <--
[@apache-mynewt-core/sys/log/full] * @apache-mynewt-core/util/crc <--
[@apache-mynewt-core/fs/nffs @apache-mynewt-core/sys/shell] *
@apache-mynewt-core/util/mem <-- [@apache-mynewt-core/kernel/os]


Beside that i tried with fs/fatfs deps, it gave me no exception but the
data doesn't wrote into the filesystem. Do i need to do initialize on
fatfs?

Thank you.

Then Yoong Ze


On 11/2/2017 12:36 AM, Fabio Utzig wrote:
Your english is just fine. What surprised me is that you're using the fs
subsystem without any fs enabled (either having nffs or fatfs or both).
I was not expecting it, never tried it myself and it might indeed be a
bug.

Cheers,
Fabio Utzig

On Fri, Feb 10, 2017, at 02:01 PM, then yon wrote:
Dear Fabio,

That means i removed all the code related to fs and the package
dependencies. Sorry for my bad english.

newt target dep blink_nordic

Dependency graph (depender --> [dependees]): *
@apache-mynewt-core/compiler/arm-none-eabi-m4 --> [] *
@apache-mynewt-core/encoding/base64 --> [] * @apache-mynewt-core/fs/disk
--> [@apache-mynewt-core/kernel/os] * @apache-mynewt-core/fs/fs -->
[@apache-mynewt-core/fs/disk] * @apache-mynewt-core/hw/bsp/nrf52dk -->
[@apache-mynewt-core/hw/drivers/uart/uart_hal
@apache-mynewt-core/hw/mcu/nordic/nrf52xxx
@apache-mynewt-core/libc/baselibc] * @apache-mynewt-core/hw/cmsis-core
--> [] * @apache-mynewt-core/hw/drivers/uart --> [] *
@apache-mynewt-core/hw/drivers/uart/uart_hal -->
[@apache-mynewt-core/hw/drivers/uart @apache-mynewt-core/hw/hal] *
@apache-mynewt-core/hw/hal --> [@apache-mynewt-core/kernel/os] *
@apache-mynewt-core/hw/mcu/nordic --> [@apache-mynewt-core/hw/cmsis-core
@apache-mynewt-core/hw/hal] * @apache-mynewt-core/hw/mcu/nordic/nrf52xxx
--> [@apache-mynewt-core/compiler/arm-none-eabi-m4
@apache-mynewt-core/hw/cmsis-core @apache-mynewt-core/hw/hal
@apache-mynewt-core/hw/mcu/nordic] * @apache-mynewt-core/kernel/os -->
[@apache-mynewt-core/sys/console/full(api:console)
@apache-mynewt-core/sys/sysinit @apache-mynewt-core/util/mem] *
@apache-mynewt-core/libc/baselibc --> [@apache-mynewt-core/kernel/os
@apache-mynewt-core/sys/console/full(api:console)] *
@apache-mynewt-core/sys/console/full -->
[@apache-mynewt-core/hw/drivers/uart @apache-mynewt-core/hw/hal
@apache-mynewt-core/kernel/os] * @apache-mynewt-core/sys/defs --> [] *
@apache-mynewt-core/sys/flash_map --> [@apache-mynewt-core/sys/defs
@apache-mynewt-core/sys/mfg] * @apache-mynewt-core/sys/log/full -->
[@apache-mynewt-core/kernel/os @apache-mynewt-core/sys/flash_map
@apache-mynewt-core/util/cbmem] * @apache-mynewt-core/sys/mfg -->
[@apache-mynewt-core/kernel/os @apache-mynewt-core/sys/flash_map] *
@apache-mynewt-core/sys/shell --> [@apache-mynewt-core/encoding/base64
@apache-mynewt-core/kernel/os
@apache-mynewt-core/sys/console/full(api:console)
@apache-mynewt-core/time/datetime @apache-mynewt-core/util/crc] *
@apache-mynewt-core/sys/stats/full --> [@apache-mynewt-core/kernel/os] *
@apache-mynewt-core/sys/sysinit --> [@apache-mynewt-core/kernel/os
@apache-mynewt-core/sys/flash_map] * @apache-mynewt-core/time/datetime
--> [@apache-mynewt-core/kernel/os] * @apache-mynewt-core/util/cbmem -->
[@apache-mynewt-core/hw/hal @apache-mynewt-core/kernel/os] *
@apache-mynewt-core/util/crc --> [] * @apache-mynewt-core/util/mem -->
[@apache-mynewt-core/kernel/os] * apps/blinky -->
[@apache-mynewt-core/fs/fs @apache-mynewt-core/hw/hal
@apache-mynewt-core/kernel/os @apache-mynewt-core/sys/console/full
@apache-mynewt-core/sys/log/full @apache-mynewt-core/sys/shell
@apache-mynewt-core/sys/stats/full] * targets/blink_nordic --> []

newt target revdep blink_nordic Reverse dependency graph (dependee <--
[dependers]): * @apache-mynewt-core/compiler/arm-none-eabi-m4 <--
[@apache-mynewt-core/hw/mcu/nordic/nrf52xxx] *
@apache-mynewt-core/encoding/base64 <-- [@apache-mynewt-core/sys/shell]
* @apache-mynewt-core/fs/disk <-- [@apache-mynewt-core/fs/fs] *
@apache-mynewt-core/fs/fs <-- [apps/blinky] *
@apache-mynewt-core/hw/cmsis-core <-- [@apache-mynewt-core/hw/mcu/nordic
@apache-mynewt-core/hw/mcu/nordic/nrf52xxx] *
@apache-mynewt-core/hw/drivers/uart <--
[@apache-mynewt-core/hw/drivers/uart/uart_hal
@apache-mynewt-core/sys/console/full] *
@apache-mynewt-core/hw/drivers/uart/uart_hal <--
[@apache-mynewt-core/hw/bsp/nrf52dk] * @apache-mynewt-core/hw/hal <--
[@apache-mynewt-core/hw/drivers/uart/uart_hal
@apache-mynewt-core/hw/mcu/nordic
@apache-mynewt-core/hw/mcu/nordic/nrf52xxx
@apache-mynewt-core/sys/console/full @apache-mynewt-core/util/cbmem
apps/blinky] * @apache-mynewt-core/hw/mcu/nordic <--
[@apache-mynewt-core/hw/mcu/nordic/nrf52xxx] *
@apache-mynewt-core/hw/mcu/nordic/nrf52xxx <--
[@apache-mynewt-core/hw/bsp/nrf52dk] * @apache-mynewt-core/kernel/os <--
[@apache-mynewt-core/fs/disk @apache-mynewt-core/hw/hal
@apache-mynewt-core/libc/baselibc @apache-mynewt-core/sys/console/full
@apache-mynewt-core/sys/log/full @apache-mynewt-core/sys/mfg
@apache-mynewt-core/sys/shell @apache-mynewt-core/sys/stats/full
@apache-mynewt-core/sys/sysinit @apache-mynewt-core/time/datetime
@apache-mynewt-core/util/cbmem @apache-mynewt-core/util/mem apps/blinky]
* @apache-mynewt-core/libc/baselibc <--
[@apache-mynewt-core/hw/bsp/nrf52dk] *
@apache-mynewt-core/sys/console/full <--
[@apache-mynewt-core/kernel/os(api:console)
@apache-mynewt-core/libc/baselibc(api:console)
@apache-mynewt-core/sys/shell(api:console) apps/blinky] *
@apache-mynewt-core/sys/defs <-- [@apache-mynewt-core/sys/flash_map] *
@apache-mynewt-core/sys/flash_map <-- [@apache-mynewt-core/sys/log/full
@apache-mynewt-core/sys/mfg @apache-mynewt-core/sys/sysinit] *
@apache-mynewt-core/sys/log/full <-- [apps/blinky] *
@apache-mynewt-core/sys/mfg <-- [@apache-mynewt-core/sys/flash_map] *
@apache-mynewt-core/sys/shell <-- [apps/blinky] *
@apache-mynewt-core/sys/stats/full <-- [apps/blinky] *
@apache-mynewt-core/sys/sysinit <-- [@apache-mynewt-core/kernel/os] *
@apache-mynewt-core/time/datetime <-- [@apache-mynewt-core/sys/shell] *
@apache-mynewt-core/util/cbmem <-- [@apache-mynewt-core/sys/log/full] *
@apache-mynewt-core/util/crc <-- [@apache-mynewt-core/sys/shell] *
@apache-mynewt-core/util/mem <-- [@apache-mynewt-core/kernel/os]


Thank you.

Regards,

Then Yoong Ze


On 10/2/2017 11:42 PM, Fabio Utzig wrote:
No sure what you mean by "removed this fs part". What FS are you using?

Could you provide the output of "newt target dep" and "newt target
revdep"?

Cheers,
Fabio Utzig

On Fri, Feb 10, 2017, at 10:59 AM, then yon wrote:
Dear Support,

After updated to latest develop version, the fs code doesn't work
anymore.

It gave me the following error:
4:Unhandled interrupt (2), exception sp 0x200015a0 4: r0:0x000000
r1:0x00000000 r2:0x80000000 r3:0xe000ed0x0000cdf r5:0x000168b0
4:ICSR:0x00421802 HFSR:0x0000000 C:0x00000 4:BFAR:0xe000ed38
MMFAR:0xe000ed34

When i removed this fs part everything work well.

Thank you.

Regards,
      Then Yoong Ze
.

.

.

.


Reply via email to