WhyCan Forum(哇酷开发者社区)

我们能随心所欲"有问题百度(谷歌)一下", 这得感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn

您尚未登录。

#1 2020-02-03 16:17:43

香酥肉饼
会员
注册时间: 2020-01-10
累计积分: 5

F1C100S的Keil裸机USB+LCD+PWM+GPIO工程搞定,修复GNU工具链BUG

之前晕哥遇到的问题现在解决了,问题溯源:KEIL可以使用 GNU 工具链,但是只能使用指定那些工具链,不是所有的GNU工具链都可以用
感谢达克罗德提供的F1C100S裸机编译工程:
F1C100S裸奔framebuffer+PWM+GPIO驱动
F1C100S裸机usb工程(支持hid和cdc类)
我尝试建立Keil下的F1C100S裸机工程,也遇到了和晕哥一样的问题,GNU工具链在链接的时候出错,最后用C#写了一个中间件解决了这个bug,程序依赖 .Net4.0,同时完善各种脚本,实现了编译结束自动生成bin文件以及使用mksuni打补丁操作,最终的bin文件可以直接烧录到spi-flash运行,也可以烧录到dram运行。
C#写的中间件,修改了下传入GCC的参数,然后用新参数调用gcc.exedebug
TIM截图20200203160923.jpg
为方便下载调试,不用每次都短接,默认下载到ram,可以自修改下载脚本为 "flashtospi.bat",下载到spi-flash
下载脚本修改位置
工程目录下已包含修复的工具链以及烧录程序,不出意外直接打开工程即可以编译下载。
编译链接下载一气呵成。
1.jpg
Keil裸机工程下载:f1c100s_keil.rar
如有其它bug欢迎改正。

最近编辑记录 香酥肉饼 (2020-02-03 16:24:58)

离线

#2 2020-02-03 17:02:24

小智
会员
注册时间: 2019-10-16
累计积分: 77

Re: F1C100S的Keil裸机USB+LCD+PWM+GPIO工程搞定,修复GNU工具链BUG

那个中间件c#开源吗

离线

#3 2020-02-03 17:47:58

忘记岁月
会员
注册时间: 2020-02-02
累计积分: 1

Re: F1C100S的Keil裸机USB+LCD+PWM+GPIO工程搞定,修复GNU工具链BUG

高手太厉害了

离线

#4 2020-02-03 18:16:18

香酥肉饼
会员
注册时间: 2020-01-10
累计积分: 5

Re: F1C100S的Keil裸机USB+LCD+PWM+GPIO工程搞定,修复GNU工具链BUG

小智 说:

那个中间件c#开源吗

其实很简单,源码在此:

static void Main(string[] args)
{
	string a = "";
	if (args.Length == 1)
	{
		if (args[0].StartsWith("@"))
		{
			string name = args[0].Replace("@", "");
			try
			{
				a = System.IO.File.ReadAllText(name, Encoding.Default);
			}
			catch (Exception ex)
			{
				Console.WriteLine(ex.ToString());
				return;
			}
		}  
	}
	else
	{
		for (int i = 0; i < args.Length; i++)
		{
			a += args[i] + " ";
		}
	}
	a = a.Replace("\"", "");
	a = a.Replace("./", "");
	a = a.Replace("\r\n", " ");
	Process cmd = new Process();
	cmd.StartInfo.FileName = AppDomain.CurrentDomain.BaseDirectory +"arm-none-eabi-gcc.exedebug";
	cmd.StartInfo.WorkingDirectory = System.Environment.CurrentDirectory;
	cmd.StartInfo.Arguments = a;
	cmd.StartInfo.UseShellExecute = false;
	cmd.StartInfo.RedirectStandardInput = true;
	cmd.StartInfo.RedirectStandardOutput = true;
	cmd.StartInfo.CreateNoWindow = true;
	cmd.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
	try
	{
		cmd.Start();
		string Text = cmd.StandardOutput.ReadToEnd();
		cmd.WaitForExit();
		cmd.Close();
		Console.Write(Text);
	}
	catch (Exception ex)
	{
		Console.WriteLine(ex.ToString());
	}
}

离线

#5 2020-02-03 20:33:35

Jmhh247
会员
注册时间: 2018-12-21
累计积分: 262

Re: F1C100S的Keil裸机USB+LCD+PWM+GPIO工程搞定,修复GNU工具链BUG

厉害了!

离线

#6 2020-02-03 23:53:15

伍零壹
会员
注册时间: 2019-12-16
累计积分: 80

Re: F1C100S的Keil裸机USB+LCD+PWM+GPIO工程搞定,修复GNU工具链BUG

mark,留个爪印。

离线

#7 2020-02-04 12:59:01

sea18c
会员
注册时间: 2019-08-05
累计积分: 164

Re: F1C100S的Keil裸机USB+LCD+PWM+GPIO工程搞定,修复GNU工具链BUG

mark,留个爪印。

离线

#8 2020-02-04 14:46:59

thwin520
会员
注册时间: 2019-11-01
累计积分: 14

Re: F1C100S的Keil裸机USB+LCD+PWM+GPIO工程搞定,修复GNU工具链BUG

厉害了!

离线

#9 2020-02-04 16:35:27

微凉VeiLiang
会员
注册时间: 2018-10-28
累计积分: 345
个人网站

Re: F1C100S的Keil裸机USB+LCD+PWM+GPIO工程搞定,修复GNU工具链BUG

厉害了,感谢分享

离线

#10 2020-02-04 16:36:18

gdfsli
会员
注册时间: 2018-07-11
累计积分: 26

Re: F1C100S的Keil裸机USB+LCD+PWM+GPIO工程搞定,修复GNU工具链BUG

下载速度太慢,还断线

离线

#11 2020-02-04 22:07:17

xidaole
会员
注册时间: 2019-12-22
累计积分: 28

Re: F1C100S的Keil裸机USB+LCD+PWM+GPIO工程搞定,修复GNU工具链BUG

我重新设定了GCC设定为:...f1c100s_keil\Toolchain\; 然后编译通过

点下载时,出现一个检验失败。
........
compiling sys-copyself.c...
linking...
After Build - User command #1: Toolchain\bin\arm-none-eabi-objcopy -O binary  Objects\f1c100s.elf Objects\f1c100s.bin
After Build - User command #2: Tools\mksunxi Objects\f1c100s.bin
".\Objects\f1c100s.elf" - 0 Error(s), 0 Warning(s).
Build Time Elapsed:  00:00:12
flashtoram.bat
D:\ARM9\f1c100s_mdk\f1c100s_keil>.\Tools\sunxi-fel.exe spl .\Objects\f1c100s.bin
SPL: checksum check failed
D:\ARM9\f1c100s_mdk\f1c100s_keil>.\Tools\sunxi-fel.exe -p write 0x80000000 .\Objects\f1c100s.bin
100% [================================================]    42 kB,  207.9 kB/s
D:\ARM9\f1c100s_mdk\f1c100s_keil>.\Tools\sunxi-fel.exe exec 0x80000000

离线

#12 2020-02-04 22:20:08

xidaole
会员
注册时间: 2019-12-22
累计积分: 28

Re: F1C100S的Keil裸机USB+LCD+PWM+GPIO工程搞定,修复GNU工具链BUG

.....
linking...
After Build - User command #1: Toolchain\bin\arm-none-eabi-objcopy -O binary  Objects\f1c100s.elf Objects\f1c100s.bin
After Build - User command #2: Tools\mksunxi Objects\f1c100s.bin
".\Objects\f1c100s.elf" - 0 Error(s), 0 Warning(s).
Build Time Elapsed:  00:00:03
D:\ARM9\f1c100s_mdk\f1c100s_keil\flashtospi.bat
D:\ARM9\f1c100s_mdk\f1c100s_keil>.\Tools\sunxi-fel.exe -p spiflash-write 0 .\Objects\f1c100s.bin
usb_bulk_send() ERROR -9: Pipe error

离线

#13 2020-02-04 22:38:01

我心飞翔
会员
注册时间: 2019-12-25
累计积分: 82

Re: F1C100S的Keil裸机USB+LCD+PWM+GPIO工程搞定,修复GNU工具链BUG

你确认用的是F1C100s 版本, 而不是V3s版本吗?

离线

#14 2020-02-04 23:33:17

香酥肉饼
会员
注册时间: 2020-01-10
累计积分: 5

Re: F1C100S的Keil裸机USB+LCD+PWM+GPIO工程搞定,修复GNU工具链BUG

xidaole 说:

我重新设定了GCC设定为:...f1c100s_keil\Toolchain\; 然后编译通过

点下载时,出现一个检验失败。
........
compiling sys-copyself.c...
linking...
After Build - User command #1: Toolchain\bin\arm-none-eabi-objcopy -O binary  Objects\f1c100s.elf Objects\f1c100s.bin
After Build - User command #2: Tools\mksunxi Objects\f1c100s.bin
".\Objects\f1c100s.elf" - 0 Error(s), 0 Warning(s).
Build Time Elapsed:  00:00:12
flashtoram.bat
D:\ARM9\f1c100s_mdk\f1c100s_keil>.\Tools\sunxi-fel.exe spl .\Objects\f1c100s.bin
SPL: checksum check failed
D:\ARM9\f1c100s_mdk\f1c100s_keil>.\Tools\sunxi-fel.exe -p write 0x80000000 .\Objects\f1c100s.bin
100% [================================================]    42 kB,  207.9 kB/s
D:\ARM9\f1c100s_mdk\f1c100s_keil>.\Tools\sunxi-fel.exe exec 0x80000000

After Build - User command #2: Tools\mksunxi Objects\f1c100s.bin
检查这条命令的执行情况。

离线

#15 2020-02-05 09:39:27

ljbfly
会员
注册时间: 2017-12-07
累计积分: 36

Re: F1C100S的Keil裸机USB+LCD+PWM+GPIO工程搞定,修复GNU工具链BUG

mksunxi.exe 不能运行,好像和这个动态库有关msvcr120d.dll

离线

#16 2020-02-05 11:18:07

xidaole
会员
注册时间: 2019-12-22
累计积分: 28

Re: F1C100S的Keil裸机USB+LCD+PWM+GPIO工程搞定,修复GNU工具链BUG

After Build Run #2  Tools\mksunxi Objects\@L.bin     
试过,删除bin后,重新成功生成f1c100s.bin文件。

还有改用 flashtospi 文件,编译通过后,再点下载,能成功下载;重启F1C100s板子,还是进入fel模式(电脑显示驱动)。

离线

#17 2020-02-05 11:34:42

我心飞翔
会员
注册时间: 2019-12-25
累计积分: 82

Re: F1C100S的Keil裸机USB+LCD+PWM+GPIO工程搞定,修复GNU工具链BUG

@xidaole

1. 手动校验: 读回来和要写入的文件比较, 判断是否写入正确.
2. 写入一个u-boot或者其他验证过的能引导的文件, 判断你的烧录软件是否正常.

离线

#18 2020-02-06 11:13:31

xidaole
会员
注册时间: 2019-12-22
累计积分: 28

Re: F1C100S的Keil裸机USB+LCD+PWM+GPIO工程搞定,修复GNU工具链BUG

@我心飞翔
使用别的文件下载验证过,下载没有问题。
应该是 bin文件“打包”成全志认可以的 bin文件没有成功.

最近编辑记录 xidaole (2020-02-06 11:13:56)

离线

#19 2020-02-06 11:35:45

joyhope
会员
注册时间: 2020-01-16
累计积分: 38

Re: F1C100S的Keil裸机USB+LCD+PWM+GPIO工程搞定,修复GNU工具链BUG

先mark一下。谢谢分享了。

离线

#20 2020-02-06 12:22:14

转角1068
会员
注册时间: 2019-12-14
累计积分: 1

Re: F1C100S的Keil裸机USB+LCD+PWM+GPIO工程搞定,修复GNU工具链BUG

谢谢大佬分享。

离线

#21 2020-02-06 13:36:56

joyhope
会员
注册时间: 2020-01-16
累计积分: 38

Re: F1C100S的Keil裸机USB+LCD+PWM+GPIO工程搞定,修复GNU工具链BUG

奇怪了,我keil是5.24版本, 出现了编译器无法执行的问题?

compiling main.c...
*** Error: Failed to execute 'arm-none-eabi-gcc'
compiling printf.c...
*** Error: Failed to execute 'arm-none-eabi-gcc'
compiling gpio-f1c100s.c...
*** Error: Failed to execute 'arm-none-eabi-gcc'
compiling malloc.c...

离线

#22 2020-02-06 14:20:30

firstman
会员
注册时间: 2019-04-06
累计积分: 278

Re: F1C100S的Keil裸机USB+LCD+PWM+GPIO工程搞定,修复GNU工具链BUG

keil你选的是 gnu 工具链吗? 默认不是用 armcc.exe 的吗?

离线

#23 2020-02-06 14:46:12

xidaole
会员
注册时间: 2019-12-22
累计积分: 28

Re: F1C100S的Keil裸机USB+LCD+PWM+GPIO工程搞定,修复GNU工具链BUG

我编译工具改为了绝对路径: ..\f1c100s_keil\Toolchain\ 
然后编译成功。 但对bin文件“打包”失败。

离线

#24 2020-02-06 14:51:07

firstman
会员
注册时间: 2019-04-06
累计积分: 278

Re: F1C100S的Keil裸机USB+LCD+PWM+GPIO工程搞定,修复GNU工具链BUG

xidaole 说:

我编译工具改为了绝对路径: ..\f1c100s_keil\Toolchain\ 
然后编译成功。 但对bin文件“打包”失败。

mksunxi.exe 不存在/路径错误/执行失败/参数错误?

离线

#25 2020-02-06 15:16:04

myxiaonia
会员
注册时间: 2019-06-18
累计积分: 57

Re: F1C100S的Keil裸机USB+LCD+PWM+GPIO工程搞定,修复GNU工具链BUG

不能用armcc编译吗

离线

#26 2020-02-06 17:10:54

xidaole
会员
注册时间: 2019-12-22
累计积分: 28

Re: F1C100S的Keil裸机USB+LCD+PWM+GPIO工程搞定,修复GNU工具链BUG

firstman 说:

mksunxi.exe 不存在/路径错误/执行失败/参数错误?

应该是执行失败,弹出指令窗口,然后没有反应。

离线

#27 2020-02-06 19:57:02

642242855
会员
注册时间: 2019-10-31
累计积分: 115

Re: F1C100S的Keil裸机USB+LCD+PWM+GPIO工程搞定,修复GNU工具链BUG

下载太慢,能否上传网盘

离线

#28 2020-02-07 09:53:29

joyhope
会员
注册时间: 2020-01-16
累计积分: 38

Re: F1C100S的Keil裸机USB+LCD+PWM+GPIO工程搞定,修复GNU工具链BUG

>>*** Error: Failed to execute 'arm-none-eabi-gcc'

我仔细看了 “KEIL可以使用 GNU 工具链,但是只能使用指定那些工具链,不是所有的GNU工具链都可以用” 的说明,感谢里面的贴图指南。我系统的gcc编译器所在的路径错误了。 (历史的原因,存在了一个垃圾路径,欺骗了keil )

linking...
Objects\start.o: In function `_start':
(.text+0x0): multiple definition of `_start'
./objects/start.o:(.text+0x0): first defined here
Objects\start.o: In function `return_to_fel':
D:\EmbeddedPrjs\f1c100s_keil/SRC/machine/start.S:197: multiple definition of `return_to_fel'
./objects/start.o:D:\EmbeddedPrjs\f1c100s_keil/SRC/machine/start.S:197: first defined here
Objects\memcpy.o: In function `memcpy':
D:\EmbeddedPrjs\f1c100s_keil/SRC/arch/arm32/lib/memcpy.S:12: multiple definition of `memcpy'
./objects/memcpy.o:D:\EmbeddedPrjs\f1c100s_keil/SRC/arch/arm32/lib/memcpy.S:12: first defined here
Objects\memset.o: In function `memset':
D:\EmbeddedPrjs\f1c100s_keil/SRC/arch/arm32/lib/memset.S:11: multiple definition of `memset'
./objects/memset.o:D:\EmbeddedPrjs\f1c100s_keil/SRC/arch/arm32/lib/memset.S:11: first defined here
Objects\sys-uart.o: In function `read32':
D:\EmbeddedPrjs\f1c100s_keil/./SRC/machine/include/io.h:22: multiple definition of `sys_uart_init'
./objects/sys-uart.o:D:\EmbeddedPrjs\f1c100s_keil/./SRC/machine/include/io.h:22: first defined here
Objects\sys-uart.o: In function `read32':
D:\EmbeddedPrjs\f1c100s_keil/./SRC/machine/include/io.h:22: multiple definition of `sys_uart_putc'
./objects/sys-uart.o:D:\EmbeddedPrjs\f1c100s_keil/./SRC/machine/include/io.h:22: first defined here
Objects\sys-clock.o: In function `write32':
D:\EmbeddedPrjs\f1c100s_keil/./SRC/machine/include/io.h:42: multiple definition of `sys_clock_init'
./objects/sys-clock.o:D:\EmbeddedPrjs\f1c100s_keil/./SRC/machine/include/io.h:42: first defined here
Objects\sys-dram.o: In function `sys_dram_init':
D:\EmbeddedPrjs\f1c100s_keil/SRC/machine/sys-dram.c:485: multiple definition of `sys_dram_init'
./objects/sys-dram.o:D:\EmbeddedPrjs\f1c100s_keil/SRC/machine/sys-dram.c:485: first defined here
Objects\sys-mmu.o: In function `sys_mmu_init':
D:\EmbeddedPrjs\f1c100s_keil/SRC/machine/sys-mmu.c:44: multiple definition of `sys_mmu_init'
./objects/sys-mmu.o:D:\EmbeddedPrjs\f1c100s_keil/SRC/machine/sys-mmu.c:44: first defined here
Objects\sys-spi-flash.o: In function `read32':
D:\EmbeddedPrjs\f1c100s_keil/./SRC/machine/include/io.h:22: multiple definition of `sys_spi_flash_init'
./objects/sys-spi-flash.o:D:\EmbeddedPrjs\f1c100s_keil/./SRC/machine/include/io.h:22: first defined here
Objects\sys-spi-flash.o: In function `read32':
D:\EmbeddedPrjs\f1c100s_keil/./SRC/machine/include/io.h:22: multiple definition of `sys_spi_flash_exit'
./objects/sys-spi-flash.o:D:\EmbeddedPrjs\f1c100s_keil/./SRC/machine/include/io.h:22: first defined here
Objects\sys-spi-flash.o: In function `read32':
D:\EmbeddedPrjs\f1c100s_keil/./SRC/machine/include/io.h:22: multiple definition of `sys_spi_flash_read'
./objects/sys-spi-flash.o:D:\EmbeddedPrjs\f1c100s_keil/./SRC/machine/include/io.h:22: first defined here
Objects\sys-copyself.o: In function `sys_copyself':
D:\EmbeddedPrjs\f1c100s_keil/SRC/machine/sys-copyself.c:51: multiple definition of `sys_copyself'
./objects/sys-copyself.o:D:\EmbeddedPrjs\f1c100s_keil/SRC/machine/sys-copyself.c:51: first defined here
Objects\main.o: In function `boot_main':
D:\EmbeddedPrjs\f1c100s_keil/SRC/main.c:16: multiple definition of `boot_main'
./objects/main.o:D:\EmbeddedPrjs\f1c100s_keil/SRC/main.c:16: first defined here
Objects\main.o: In function `__fatal_error':
D:\EmbeddedPrjs\f1c100s_keil/SRC/main.c:75: multiple definition of `__fatal_error'
./objects/main.o:D:\EmbeddedPrjs\f1c100s_keil/SRC/main.c:75: first defined here
Objects\main.o: In function `__assert_func':
D:\EmbeddedPrjs\f1c100s_keil/SRC/main.c:79: multiple definition of `__assert_func'
./objects/main.o:D:\EmbeddedPrjs\f1c100s_keil/SRC/main.c:79: first defined here
collect2.exe: error: ld returned 1 exit status
".\Objects\f1c100s.elf" - 1 Error(s), 0 Warning(s).

这些Link 的问题有人遇到过吗?

machine/下的xxx.S 文件是明显不存在的,怎么会有这个错误?

最近编辑记录 joyhope (2020-02-07 10:20:19)

离线

#29 2020-02-07 13:44:57

thwin520
会员
注册时间: 2019-11-01
累计积分: 14

Re: F1C100S的Keil裸机USB+LCD+PWM+GPIO工程搞定,修复GNU工具链BUG

手头没板子,只能看你们调试啊。

离线

#30 2020-02-07 15:48:06

sea18c
会员
注册时间: 2019-08-05
累计积分: 164

Re: F1C100S的Keil裸机USB+LCD+PWM+GPIO工程搞定,修复GNU工具链BUG

thwin520 说:

手头没板子,只能看你们调试啊。


仿真学习呀

离线

#31 2020-02-07 16:54:47

642242855
会员
注册时间: 2019-10-31
累计积分: 115

Re: F1C100S的Keil裸机USB+LCD+PWM+GPIO工程搞定,修复GNU工具链BUG

我也遇到了

*** Error: Failed to execute 'arm-none-eabi-gcc'
compiling fb-f1c100s.c...
*** Error: Failed to execute 'arm-none-eabi-gcc'
compiling irq_misc.c...
*** Error: Failed to execute 'arm-none-eabi-gcc'
linking...
--- Error: failed to execute 'arm-none-eabi-gcc'
".\Objects\f1c100s.elf" - 1 Error(s), 0 Warning(s).
Target not created.
Build Time Elapsed:  00:00:01

离线

#32 2020-02-07 17:13:18

xidaole
会员
注册时间: 2019-12-22
累计积分: 28

Re: F1C100S的Keil裸机USB+LCD+PWM+GPIO工程搞定,修复GNU工具链BUG

642242855 说:

我也遇到了

*** Error: Failed to execute 'arm-none-eabi-gcc'
compiling fb-f1c100s.c...
*** Error: Failed to execute 'arm-none-eabi-gcc'
compiling irq_misc.c...
*** Error: Failed to execute 'arm-none-eabi-gcc'
linking...
--- Error: failed to execute 'arm-none-eabi-gcc'
".\Objects\f1c100s.elf" - 1 Error(s), 0 Warning(s).
Target not created.
Build Time Elapsed:  00:00:01

编译路径没选对,设定到项目下   Toolchain  文件夹

离线

#33 2020-02-07 22:41:16

linhuaou
会员
注册时间: 2019-08-09
累计积分: 33

Re: F1C100S的Keil裸机USB+LCD+PWM+GPIO工程搞定,修复GNU工具链BUG

烧录的时候显示 Allwinner USB FEL device not found!,不知道什么原因导致的,烧录RTT的boot和固件没有问题。
D:\2_sourcecode\1_scanner\4_licheePi\others\f1c100s_keil>.\Tools\sunxi-fel.exe spl .\Objects\f1c100s.bin
ERROR: Allwinner USB FEL device not found!
D:\2_sourcecode\1_scanner\4_licheePi\others\f1c100s_keil>.\Tools\sunxi-fel.exe -p write 0x80000000 .\Objects\f1c100s.bin
ERROR: Allwinner USB FEL device not found!
D:\2_sourcecode\1_scanner\4_licheePi\others\f1c100s_keil>.\Tools\sunxi-fel.exe exec 0x80000000
ERROR: Allwinner USB FEL device not found!

离线

#34 2020-02-07 22:44:24

firstman
会员
注册时间: 2019-04-06
累计积分: 278

Re: F1C100S的Keil裸机USB+LCD+PWM+GPIO工程搞定,修复GNU工具链BUG

1. 可能没有进入FEL 模式(USB烧录模式)
2. 没有装 libusb 驱动

参考: https://whycan.cn/t_444.html

离线

#35 2020-02-07 23:10:37

linhuaou
会员
注册时间: 2019-08-09
累计积分: 33

Re: F1C100S的Keil裸机USB+LCD+PWM+GPIO工程搞定,修复GNU工具链BUG

linhuaou 说:

烧录的时候显示 Allwinner USB FEL device not found!,不知道什么原因导致的,烧录RTT的boot和固件没有问题。
D:\2_sourcecode\1_scanner\4_licheePi\others\f1c100s_keil>.\Tools\sunxi-fel.exe spl .\Objects\f1c100s.bin
ERROR: Allwinner USB FEL device not found!
D:\2_sourcecode\1_scanner\4_licheePi\others\f1c100s_keil>.\Tools\sunxi-fel.exe -p write 0x80000000 .\Objects\f1c100s.bin
ERROR: Allwinner USB FEL device not found!
D:\2_sourcecode\1_scanner\4_licheePi\others\f1c100s_keil>.\Tools\sunxi-fel.exe exec 0x80000000
ERROR: Allwinner USB FEL device not found!

解决了,是要短接FLASH 1/4脚,已经安装 zadig-2_3_exe 驱动

离线

#36 2020-02-08 08:25:43

linhuaou
会员
注册时间: 2019-08-09
累计积分: 33

Re: F1C100S的Keil裸机USB+LCD+PWM+GPIO工程搞定,修复GNU工具链BUG

谢谢,就是这两个问题导致!

firstman 说:

1. 可能没有进入FEL 模式(USB烧录模式)
2. 没有装 libusb 驱动

参考: https://whycan.cn/t_444.html

离线

#37 2020-02-08 12:11:46

joyhope
会员
注册时间: 2020-01-16
累计积分: 38

Re: F1C100S的Keil裸机USB+LCD+PWM+GPIO工程搞定,修复GNU工具链BUG

仔细看了1#帖子,包括参考的晕哥的帖子。重要理解了keil 用gcc编译的问题了。

1. 晕哥指出的Link的问题(我#28楼和这个一样的)
只要用原始的gcc工具肯定是这个问题。核心原因是参数传递的",要改成' 引号。

2. 本帖作者给出了解决方案,而且把修改的完整的sdk放到了项目里面的toolchain里面。

大家如果使用,必须要通过Project -->Manager -->Project Items -->Fold Extention 重新设置工具链的路径。

作者的处理方式可以适合可以工作的版本的gcc,做法是
1. 把原始gcc工具链下的bin\arm-none-eabi-gcc.exe 重名为 arm-none-eabi-gcc.exedebug
2. 把作者发布的项目下的Toolchain\bin\arm-none-eabi-gcc.exe 复制到原始gcc对应的路径下。

作者的 arm-none-eabi-gcc.exe 是一个壳子把参数修改掉,然后重新调用gcc就解决了 Link的错误。

感谢作者给出了这个巧妙的方法,感谢晕哥发现了这个问题。这样的确为开发构建了一个好的环境。

离线

#38 2020-02-08 12:27:07

飞翔工控
会员
注册时间: 2019-11-21
累计积分: 73

Re: F1C100S的Keil裸机USB+LCD+PWM+GPIO工程搞定,修复GNU工具链BUG

楼上的朋友方便传一个 keil 的工程上来吗?谢谢.

离线

#39 2020-02-08 12:30:28

joyhope
会员
注册时间: 2020-01-16
累计积分: 38

Re: F1C100S的Keil裸机USB+LCD+PWM+GPIO工程搞定,修复GNU工具链BUG

1# 不是已经给了工程下载吗?

离线

#40 2020-02-08 12:37:45

飞翔工控
会员
注册时间: 2019-11-21
累计积分: 73

Re: F1C100S的Keil裸机USB+LCD+PWM+GPIO工程搞定,修复GNU工具链BUG

joyhope 说:

1# 不是已经给了工程下载吗?

噢, 那你是用 keil + gcc 编译吗?就按楼上配置?

离线

#41 2020-02-08 13:20:44

joyhope
会员
注册时间: 2020-01-16
累计积分: 38

Re: F1C100S的Keil裸机USB+LCD+PWM+GPIO工程搞定,修复GNU工具链BUG

楼主给的下载是完整的,唯一没有告诉使用的人要配置一下toolchain。(这个在他给的参考资料里面提到了)。 #37 只是解释了作者的工具,同样也适用其他的gcc的工具。

离线

#42 2020-02-08 14:16:20

飞翔工控
会员
注册时间: 2019-11-21
累计积分: 73

Re: F1C100S的Keil裸机USB+LCD+PWM+GPIO工程搞定,修复GNU工具链BUG

joyhope 说:

楼主给的下载是完整的,唯一没有告诉使用的人要配置一下toolchain。(这个在他给的参考资料里面提到了)。 #37 只是解释了作者的工具,同样也适用其他的gcc的工具。

get it!
感謝分享宝贵经验.

离线

#43 2020-02-08 15:13:19

linhuaou
会员
注册时间: 2019-08-09
累计积分: 33

Re: F1C100S的Keil裸机USB+LCD+PWM+GPIO工程搞定,修复GNU工具链BUG

总结的非常号,赞

joyhope 说:

仔细看了1#帖子,包括参考的晕哥的帖子。重要理解了keil 用gcc编译的问题了。

1. 晕哥指出的Link的问题(我#28楼和这个一样的)
只要用原始的gcc工具肯定是这个问题。核心原因是参数传递的",要改成' 引号。

2. 本帖作者给出了解决方案,而且把修改的完整的sdk放到了项目里面的toolchain里面。

大家如果使用,必须要通过Project -->Manager -->Project Items -->Fold Extention 重新设置工具链的路径。

作者的处理方式可以适合可以工作的版本的gcc,做法是
1. 把原始gcc工具链下的bin\arm-none-eabi-gcc.exe 重名为 arm-none-eabi-gcc.exedebug
2. 把作者发布的项目下的Toolchain\bin\arm-none-eabi-gcc.exe 复制到原始gcc对应的路径下。

作者的 arm-none-eabi-gcc.exe 是一个壳子把参数修改掉,然后重新调用gcc就解决了 Link的错误。

感谢作者给出了这个巧妙的方法,感谢晕哥发现了这个问题。这样的确为开发构建了一个好的环境。

离线

#44 2020-02-09 11:24:50

642242855
会员
注册时间: 2019-10-31
累计积分: 115

Re: F1C100S的Keil裸机USB+LCD+PWM+GPIO工程搞定,修复GNU工具链BUG

为什么下载到荔枝派 的板LCD什么反应都没有

离线

#45 2020-02-09 11:26:06

642242855
会员
注册时间: 2019-10-31
累计积分: 115

Re: F1C100S的Keil裸机USB+LCD+PWM+GPIO工程搞定,修复GNU工具链BUG

串口也没什么反应

离线

#46 2020-02-09 12:13:23

642242855
会员
注册时间: 2019-10-31
累计积分: 115

Re: F1C100S的Keil裸机USB+LCD+PWM+GPIO工程搞定,修复GNU工具链BUG

Rebuild target 'Target 1'
compiling main.c...
compiling gpio-f1c100s.c...
compiling clk-f1c100s-pll.c...
compiling fb-f1c100s.c...
compiling dma.c...
compiling printf.c...
compiling malloc.c...
compiling irq_misc.c...
compiling pwm-f1c100s.c...
compiling reset-f1c100s.c...
assembling start.S...
assembling memcpy.S...
assembling memset.S...
compiling usb_cdc.c...
compiling usb_hid.c...
compiling usb_dev.c...
compiling usb_phy.c...
compiling exception.c...
compiling sys-clock.c...
compiling sys-mmu.c...
compiling sys-dram.c...
compiling sys-uart.c...
compiling sys-spi-flash.c...
compiling sys-copyself.c...
linking...
After Build - User command #1: Toolchain\bin\arm-none-eabi-objcopy -O binary  Objects\f1c100s.elf Objects\f1c100s.bin
After Build - User command #2: Tools\mksunxi Objects\f1c100s.bin
".\Objects\f1c100s.elf" - 0 Error(s), 0 Warning(s).
Build Time Elapsed:  00:01:11


感觉我编译出来的和楼主的不一样,,,少了boot size

离线

#47 2020-02-09 23:25:05

忙着折腾
会员
注册时间: 2019-02-20
累计积分: 20

Re: F1C100S的Keil裸机USB+LCD+PWM+GPIO工程搞定,修复GNU工具链BUG

感谢大神!太牛了

离线

#48 2020-02-10 13:01:15

忙着折腾
会员
注册时间: 2019-02-20
累计积分: 20

Re: F1C100S的Keil裸机USB+LCD+PWM+GPIO工程搞定,修复GNU工具链BUG

none
2
在这里设置 ToolChain

离线

#49 2020-02-10 14:43:57

phpweb
会员
注册时间: 2020-02-05
累计积分: 2

Re: F1C100S的Keil裸机USB+LCD+PWM+GPIO工程搞定,修复GNU工具链BUG

忙着折腾 说:

在这里设置 ToolChain

这样可以用MDK + JLink单步调试吗?调试器会自动加载gcc编译elf文件吗?

离线

#50 2020-02-10 17:20:04

忙着折腾
会员
注册时间: 2019-02-20
累计积分: 20

Re: F1C100S的Keil裸机USB+LCD+PWM+GPIO工程搞定,修复GNU工具链BUG

phpweb 说:

这样可以用MDK + JLink单步调试吗?调试器会自动加载gcc编译elf文件吗?

这样只是可以编译通过,我的无法运行,f1c100s.bin下载到spiflash运行后会回到fel模式。

离线

#51 2020-02-10 18:01:22

phpweb
会员
注册时间: 2020-02-05
累计积分: 2

Re: F1C100S的Keil裸机USB+LCD+PWM+GPIO工程搞定,修复GNU工具链BUG

忙着折腾 说:

这样只是可以编译通过,我的无法运行,f1c100s.bin下载到spiflash运行后会回到fel模式。

嗯, 以前我试过MDK调试gcc生成elf文件, 我记得不成功,忘记什么原因了.

离线

#52 2020-02-10 19:20:46

忙着折腾
会员
注册时间: 2019-02-20
累计积分: 20

Re: F1C100S的Keil裸机USB+LCD+PWM+GPIO工程搞定,修复GNU工具链BUG

xidaole 说:

After Build Run #2  Tools\mksunxi Objects\@L.bin     
试过,删除bin后,重新成功生成f1c100s.bin文件。

还有改用 flashtospi 文件,编译通过后,再点下载,能成功下载;重启F1C100s板子,还是进入fel模式(电脑显示驱动)。

下载msvcr120d.dll放到Tools里面,再编译,重新生成的f1c100s.bin下载到spiflash就能正常运行了。msvcr120d.zip

离线

#53 2020-02-12 13:57:56

642242855
会员
注册时间: 2019-10-31
累计积分: 115

Re: F1C100S的Keil裸机USB+LCD+PWM+GPIO工程搞定,修复GNU工具链BUG

下载msvcr120d.dll放到Tools里面,,确实可以运行了!!感谢忙着折腾!  这是什么原因呢

离线

#54 2020-02-12 14:15:35

晕哥
管理员
注册时间: 2017-09-06
累计积分: 9,188

Re: F1C100S的Keil裸机USB+LCD+PWM+GPIO工程搞定,修复GNU工具链BUG

642242855 说:

下载msvcr120d.dll放到Tools里面,,确实可以运行了!!感谢忙着折腾!  这是什么原因呢

eXeScope.exeCFF Explorer.exe 等软件可以分析 exe 文件的依赖库, 把对应的库拷到同一目录, 一般都可以。

离线

#55 2020-02-12 17:33:10

mcucool
会员
注册时间: 2019-10-15
累计积分: 0

Re: F1C100S的Keil裸机USB+LCD+PWM+GPIO工程搞定,修复GNU工具链BUG

感谢分享!

离线

#56 2020-02-17 00:40:14

pk559
会员
注册时间: 2020-02-15
累计积分: 2

Re: F1C100S的Keil裸机USB+LCD+PWM+GPIO工程搞定,修复GNU工具链BUG

厉害!刚入手板子,学习中

离线

#57 2020-02-17 09:18:39

mango
会员
所在地: 北京
注册时间: 2017-12-02
累计积分: 631
个人网站

Re: F1C100S的Keil裸机USB+LCD+PWM+GPIO工程搞定,修复GNU工具链BUG

打算支持摄像头吗?TINY200第二版直接预留好了DVP接口
1.png

离线

#58 2020-02-18 00:03:39

忙着折腾
会员
注册时间: 2019-02-20
累计积分: 20

Re: F1C100S的Keil裸机USB+LCD+PWM+GPIO工程搞定,修复GNU工具链BUG

晕哥 说:

eXeScope.exeCFF Explorer.exe 等软件可以分析 exe 文件的依赖库, 把对应的库拷到同一目录, 一般都可以。

mksunxi.exe 需要用到msvcr120d.dll这个库,keil调用mksunxi出错后没有任何提示... 我通过cmd来运行mksunxi.exe就弹出一个错误框,提示缺少这个文件。   
又学到一招:eXeScope.exeCFF Explorer.exe 等软件可以分析 exe 文件的依赖库,向晕哥学习。

离线

#59 2020-02-18 08:46:06

晕哥
管理员
注册时间: 2017-09-06
累计积分: 9,188

Re: F1C100S的Keil裸机USB+LCD+PWM+GPIO工程搞定,修复GNU工具链BUG

忙着折腾 说:

mksunxi.exe 需要用到msvcr120d.dll这个库,keil调用mksunxi出错后没有任何提示... 我通过cmd来运行mksunxi.exe就弹出一个错误框,提示缺少这个文件。   
又学到一招:eXeScope.exeCFF Explorer.exe 等软件可以分析 exe 文件的依赖库,向晕哥学习。

也是可以静态链接的, 不需要依赖msvcr120d.dll, msvc编译的时候可以配置。

Qt mingw 的静态链接: https://whycan.cn/t_2395.html#p18309

离线

#60 2020-02-24 12:12:00

ntmusic
会员
注册时间: 2020-02-24
累计积分: 43

Re: F1C100S的Keil裸机USB+LCD+PWM+GPIO工程搞定,修复GNU工具链BUG

下载了楼主的工程文件,修改好ToolChain路径后编译,出现如下错误,请问大神这是什么原因??
Rebuild target 'Target 1'
compiling dma.c...
Error: arm-none-eabi-gcc.exedebug: error: Files: No such file or directory
Error: arm-none-eabi-gcc.exedebug: error: (x86)/Keil/ARM/CMSIS/Include: No such file or directory
compiling main.c...
Error: arm-none-eabi-gcc.exedebug: error: Files: No such file or directory
Error: arm-none-eabi-gcc.exedebug: error: (x86)/Keil/ARM/CMSIS/Include: No such file or directory
...
".\Objects\f1c100s.elf" - 42 Error(s), 0 Warning(s).
Target not created.
Build Time Elapsed:  00:00:07
我的开发环境是WIN7 64位系统,Keil安装在D:\Program Files (x86)\Keil中,版本是5.24.2

离线

#61 2020-03-03 14:15:39

1847123212
会员
注册时间: 2019-11-21
累计积分: 23

Re: F1C100S的Keil裸机USB+LCD+PWM+GPIO工程搞定,修复GNU工具链BUG

无法下载,10%左右挂死  sad:(:(

离线

#62 2020-03-03 14:18:11

飞翔工控
会员
注册时间: 2019-11-21
累计积分: 73

Re: F1C100S的Keil裸机USB+LCD+PWM+GPIO工程搞定,修复GNU工具链BUG

1847123212 说:

无法下载,10%左右挂死  sad:(:(

试一试用手机热点。

离线

#63 2020-03-03 14:19:03

飞翔工控
会员
注册时间: 2019-11-21
累计积分: 73

Re: F1C100S的Keil裸机USB+LCD+PWM+GPIO工程搞定,修复GNU工具链BUG

ntmusic 说:

下载了楼主的工程文件,修改好ToolChain路径后编译,出现如下错误,请问大神这是什么原因??
Rebuild target 'Target 1'
compiling dma.c...
Error: arm-none-eabi-gcc.exedebug: error: Files: No such file or directory
Error: arm-none-eabi-gcc.exedebug: error: (x86)/Keil/ARM/CMSIS/Include: No such file or directory
compiling main.c...
Error: arm-none-eabi-gcc.exedebug: error: Files: No such file or directory
Error: arm-none-eabi-gcc.exedebug: error: (x86)/Keil/ARM/CMSIS/Include: No such file or directory
...
".\Objects\f1c100s.elf" - 42 Error(s), 0 Warning(s).
Target not created.
Build Time Elapsed:  00:00:07
我的开发环境是WIN7 64位系统,Keil安装在D:\Program Files (x86)\Keil中,版本是5.24.2

感觉路径配置有问题。

离线

#64 2020-03-07 16:55:46

qmsolo2004
会员
注册时间: 2019-05-17
累计积分: 0

Re: F1C100S的Keil裸机USB+LCD+PWM+GPIO工程搞定,修复GNU工具链BUG

感謝分享宝贵经验

离线

#65 2020-03-18 20:31:16

mcucool
会员
注册时间: 2019-10-15
累计积分: 0

Re: F1C100S的Keil裸机USB+LCD+PWM+GPIO工程搞定,修复GNU工具链BUG

留个爪印,多谢分享

离线

#66 2020-03-19 23:36:48

saub
会员
注册时间: 2020-01-28
累计积分: 2

Re: F1C100S的Keil裸机USB+LCD+PWM+GPIO工程搞定,修复GNU工具链BUG

下载速度好慢,等不急啦,是不是纯KEIL能编译的?

离线

#67 2020-03-25 09:14:55

qmsolo2004
会员
注册时间: 2019-05-17
累计积分: 0

Re: F1C100S的Keil裸机USB+LCD+PWM+GPIO工程搞定,修复GNU工具链BUG

厉害了,感谢分享

离线

#68 2020-03-30 21:23:20

shenbk
会员
注册时间: 2019-01-11
累计积分: 9

Re: F1C100S的Keil裸机USB+LCD+PWM+GPIO工程搞定,修复GNU工具链BUG

弓虽,超级单片机出现了

离线

#69 2020-04-02 15:24:00

XZHDJH
会员
注册时间: 2020-01-18
累计积分: 29

Re: F1C100S的Keil裸机USB+LCD+PWM+GPIO工程搞定,修复GNU工具链BUG

感谢大神!

离线

#70 2020-04-04 00:19:42

pener
会员
注册时间: 2020-04-03
累计积分: 1

Re: F1C100S的Keil裸机USB+LCD+PWM+GPIO工程搞定,修复GNU工具链BUG

为什么都下载不了

离线

#71 2020-04-04 01:03:49

路人甲
会员
注册时间: 2017-09-07
累计积分: 158

Re: F1C100S的Keil裸机USB+LCD+PWM+GPIO工程搞定,修复GNU工具链BUG

pener 说:

为什么都下载不了

哪个文件?我看都可以下载哦

离线

#72 2020-04-04 11:05:02

liuchangyin
会员
注册时间: 2020-03-17
累计积分: 202

Re: F1C100S的Keil裸机USB+LCD+PWM+GPIO工程搞定,修复GNU工具链BUG

裸奔,当单片机使用啊

离线

#73 2020-04-09 10:49:43

vanquoc12b4
会员
注册时间: 2020-03-19
累计积分: 2

Re: F1C100S的Keil裸机USB+LCD+PWM+GPIO工程搞定,修复GNU工具链BUG

F1C100S裸機:SPI1從模式無法正常工作。
嗨,大家好,
我對F1C100S的SPI1有問題。
當我將SPI1與SLAVE模式一起使用時。
當我向SPI1_TXD_REG寫1個字(4字節)並從寄存器SPI1_FSR_REG中讀回TX_FIFO中的數字字節時。
SPI1_FSR_REG的返回值:0x20000(僅2個字節).// TX_FIFO中期望有4個字節
但是,當我切換到MASTER模式時,SPI1_FSR_REG的返回值是正確的:0x40000(4個字節)。
您能告訴我程序中的錯誤嗎?
非常感謝你。
main.c
#include <stdint.h>
#include <stdlib.h>
#include <stdio.h>

#define CCU_BASE                (0x01C20000)
#define PIO_BASE                (0x01C20800)
#define SPI1_BASE               (0x01C06000)
#define DMA_BASE                (0x01C02000)
#define TIMER_BASE              (0x01C20C00)

/* PIO: PA(0), PB(1), PC(2), PD(3), PE(4), PF(5) */
#define Pn_CFG0(n)              (*(volatile uint32_t *)(PIO_BASE + n*0x24 + 0x00))          // Port n Configure Register 0 (n=0~5)
#define Pn_CFG1(n)              (*(volatile uint32_t *)(PIO_BASE + n*0x24 + 0x04))          // Port n Configure Register 1 (n=0~5)
#define Pn_CFG2(n)              (*(volatile uint32_t *)(PIO_BASE + n*0x24 + 0x08))          // Port n Configure Register 2 (n=0~5)
#define Pn_CFG3(n)              (*(volatile uint32_t *)(PIO_BASE + n*0x24 + 0x0C))          // Port n Configure Register 3 (n=0~5)
#define Pn_DATA(n)              (*(volatile uint32_t *)(PIO_BASE + n*0x24 + 0x10))          // Port n Data Register (n=0~5)
#define Pn_DRV0(n)              (*(volatile uint32_t *)(PIO_BASE + n*0x24 + 0x14))          // Port n Multi-Driving Register 0 (n=0~5)
#define Pn_DRV1(n)              (*(volatile uint32_t *)(PIO_BASE + n*0x24 + 0x18))          // Port n Multi-Driving Register 1 (n=0~5)
#define Pn_PUL0(n)              (*(volatile uint32_t *)(PIO_BASE + n*0x24 + 0x1C))          // Port n Pull Register 0 (n=0~5)
#define Pn_PUL1(n)              (*(volatile uint32_t *)(PIO_BASE + n*0x24 + 0x20))          // Port n Pull Register 1
#define Pn_INT_CFG0(n)          (*(volatile uint32_t *)(PIO_BASE + 0x200  + n*0x20 + 0x0))  // PIO Interrupt Configure Register 0 (n=0~2) PD(0), PE(1), PF(2)
#define Pn_INT_CFG1(n)          (*(volatile uint32_t *)(PIO_BASE + 0x200  + n*0x20 + 0x4))  // PIO Interrupt Configure Register 1 (n=0~2) PD(0), PE(1), PF(2)
#define Pn_INT_CFG2(n)          (*(volatile uint32_t *)(PIO_BASE + 0x200  + n*0x20 + 0x8))  // PIO Interrupt Configure Register 2 (n=0~2) PD(0), PE(1), PF(2)
#define Pn_INT_CFG3(n)          (*(volatile uint32_t *)(PIO_BASE + 0x200  + n*0x20 + 0xC))  // PIO Interrupt Configure Register 3 (n=0~2) PD(0), PE(1), PF(2)
#define Pn_INT_CTRL(n)          (*(volatile uint32_t *)(PIO_BASE + 0x200  + n*0x20 + 0x10)) // PIO Interrupt Control Register     (n=0~2) PD(0), PE(1), PF(2)
#define Pn_INT_STA(n)           (*(volatile uint32_t *)(PIO_BASE + 0x200  + n*0x20 + 0x14)) // PIO Interrupt Status Register      (n=0~2) PD(0), PE(1), PF(2)
#define Pn_INT_DEB(n)           (*(volatile uint32_t *)(PIO_BASE + 0x200  + n*0x20 + 0x18)) // PIO Interrupt Debounce Register    (n=0~2) PD(0), PE(1), PF(2)

/* CCU */
#define BUS_CLK_GATING_REG0     (*(volatile uint32_t *)(CCU_BASE + 0x0060))
#define BUS_CLK_GATING_REG1     (*(volatile uint32_t *)(CCU_BASE + 0x0064))
#define BUS_CLK_GATING_REG2     (*(volatile uint32_t *)(CCU_BASE + 0x0068))
#define BUS_SOFT_RST_REG0       (*(volatile uint32_t *)(CCU_BASE + 0x02C0))
#define BUS_SOFT_RST_REG1       (*(volatile uint32_t *)(CCU_BASE + 0x02C4))
#define BUS_SOFT_RST_REG2       (*(volatile uint32_t *)(CCU_BASE + 0x02D0))

/* SPI1 */
#define SPI1_GCR_REG            (*(volatile uint32_t *)(SPI1_BASE + 0x0004))
#define SPI1_TCR_REG            (*(volatile uint32_t *)(SPI1_BASE + 0x0008))
#define SPI1_IER_REG            (*(volatile uint32_t *)(SPI1_BASE + 0x0010))
#define SPI1_ISR_REG            (*(volatile uint32_t *)(SPI1_BASE + 0x0014))
#define SPI1_FCR_REG            (*(volatile uint32_t *)(SPI1_BASE + 0x0018))
#define SPI1_FSR_REG            (*(volatile uint32_t *)(SPI1_BASE + 0x001C))
#define SPI1_WCR_REG            (*(volatile uint32_t *)(SPI1_BASE + 0x0020))
#define SPI1_CCR_REG            (*(volatile uint32_t *)(SPI1_BASE + 0x0024))
#define SPI1_MBC_REG            (*(volatile uint32_t *)(SPI1_BASE + 0x0030))
#define SPI1_MTC_REG            (*(volatile uint32_t *)(SPI1_BASE + 0x0034))
#define SPI1_BCC_REG            (*(volatile uint32_t *)(SPI1_BASE + 0x0038))
#define SPI1_TXD_REG            (*(volatile uint32_t *)(SPI1_BASE + 0x0200))
#define SPI1_RXD_REG            (*(volatile uint32_t *)(SPI1_BASE + 0x0300))

/* WDOG */
#define WDOG_IRQ_EN_REG         (*(volatile uint32_t *)(TIMER_BASE + 0x00A0))
#define WDOG_IRQ_STA_REG        (*(volatile uint32_t *)(TIMER_BASE + 0x00A4))
#define WDOG_CTRL_REG           (*(volatile uint32_t *)(TIMER_BASE + 0x00B0))
#define WDOG_CFG_REG            (*(volatile uint32_t *)(TIMER_BASE + 0x00B4))
#define WDOG_MODE_REG           (*(volatile uint32_t *)(TIMER_BASE + 0x00B8))

extern void sys_uart_putc(char c);

int boot_main(int argc, char **argv) {

    /* Do initial mem pool */
    do_init_mem_pool();
    do_init_dma_pool();

    printf("Start main while!\n\r");
    //usb_device_init(USB_TYPE_USB_COM);

    volatile int i;
    for(i = 0;i <1000;i++)
    {
        ;;;
    }
    usb_reg_debugdump();//0x53555741
//////////////////////////////////////////////////////
    // Config SPI1 Interface Pin
    Pn_CFG0(0) = 0x6666;
    // Config SPI1 reset rule
    BUS_SOFT_RST_REG0 |= (1 << 21);
    // Config SPI1 CLK gate
    BUS_CLK_GATING_REG0 |= (1 << 21);
    // Reset SPI1, SPI1 Slave Mode, Enable SPI1
    SPI1_GCR_REG = (1 << 31) | (0 << 1) | (1 << 0);
    // Wait SPI1 reset complete
    while(SPI1_GCR_REG & (1<<31));
    // SS_LEVEL no active level: high, SS active level: low, CPOL=0, CPHA=1
    SPI1_TCR_REG = (1<<7)|(1<<2)|(0<<1)|(1<<0);
    // TX FIFO reset, RX FIFO reset
    SPI1_FCR_REG = (1<<31) | (1<<15);
    // Wait TX FIFO reset complete
    while(SPI1_FCR_REG & (1<<31)) asm("nop");
    // Wait RX FIFO reset complete
    while(SPI1_FCR_REG & (1<<15)) asm("nop");
    printf("SPI1_FSR_REG:0x%X\n", SPI1_FSR_REG);
    SPI1_TXD_REG = 0x01;
    printf("SPI1_FSR_REG:0x%X\n", SPI1_FSR_REG);
    // Output: 0x20000 with SPI1_GCR_REG = (1 << 31) | (0 << 1) | (1 << 0): Slave Mode
    // Output: 0x40000 with SPI1_GCR_REG = (1 << 31) | (1 << 1) | (1 << 0): Master Mode
    //SPI1_FSR_REG[23:16]
    //TX FIFO Counter
    //These bits indicate the number of words in TX FIFO
    //0: 0 byte in TX FIFO
    //1: 1 byte in TX FIFO
    //…
    //64: 64 bytes in TX FIFO
    //Other: /
/////////////////////////////////////////////////
    printf("WDOG reset system\n");
    WDOG_CFG_REG = 0x01; // Reset whole sytem
    WDOG_MODE_REG = 0x01; // Start WDOG


    while(1)
    {

    }
    return 0;
}

void __fatal_error(const char *msg) {
    while (1);
}

#ifndef NDEBUG
void __assert_func(const char *file, int line, const char *func, const char *expr) {
    //printf("Assertion '%s' failed, at file %s:%d\n", expr, file, line);
    __fatal_error("Assertion failed");
}
#endif

离线

#74 2020-04-13 02:50:12

myxiaonia
会员
注册时间: 2019-06-18
累计积分: 57

Re: F1C100S的Keil裸机USB+LCD+PWM+GPIO工程搞定,修复GNU工具链BUG

烧录到dram运行

这个操作好像并没有起效,第一条命令就失败了

离线

#75 2020-04-16 10:51:27

19697805
会员
注册时间: 2018-06-19
累计积分: 76

Re: F1C100S的Keil裸机USB+LCD+PWM+GPIO工程搞定,修复GNU工具链BUG

先插个印记

离线

#76 2020-04-16 14:26:47

mushengcn
会员
注册时间: 2020-03-10
累计积分: 3

Re: F1C100S的Keil裸机USB+LCD+PWM+GPIO工程搞定,修复GNU工具链BUG

留下一个脚印

离线

#77 2020-04-16 17:14:08

xingjxuan
会员
注册时间: 2020-04-07
累计积分: 7

Re: F1C100S的Keil裸机USB+LCD+PWM+GPIO工程搞定,修复GNU工具链BUG

厉害了~之前只是用STM32玩过

离线

#78 2020-04-17 16:18:01

guzhengstar
会员
注册时间: 2020-01-12
累计积分: 17

Re: F1C100S的Keil裸机USB+LCD+PWM+GPIO工程搞定,修复GNU工具链BUG

学习了一下 还是没玩通 再找差别

离线

#79 2020-04-17 16:33:44

szxwh
会员
注册时间: 2020-04-17
累计积分: 2

Re: F1C100S的Keil裸机USB+LCD+PWM+GPIO工程搞定,修复GNU工具链BUG

我最近想用F1C100S开发一个存储视频的产品,谢谢分享!

离线

#80 2020-04-19 15:53:32

13718278968
会员
注册时间: 2019-11-17
累计积分: 5

Re: F1C100S的Keil裸机USB+LCD+PWM+GPIO工程搞定,修复GNU工具链BUG

要是能用jlink调试就更好了

离线

#81 2020-04-19 16:26:08

renhuge
会员
注册时间: 2020-04-17
累计积分: 14

Re: F1C100S的Keil裸机USB+LCD+PWM+GPIO工程搞定,修复GNU工具链BUG

厉害,如果能将DVP接口调通,就好了1

离线

#82 2020-04-20 14:16:48

天道酬勤
会员
注册时间: 2020-01-02
累计积分: 22

Re: F1C100S的Keil裸机USB+LCD+PWM+GPIO工程搞定,修复GNU工具链BUG

感谢楼主填坑,下载看看

离线

#83 2020-04-20 14:59:43

shunshn
会员
注册时间: 2020-04-13
累计积分: 11

Re: F1C100S的Keil裸机USB+LCD+PWM+GPIO工程搞定,修复GNU工具链BUG

谢谢分享,跟着大佬多多学习,刚入手V3S,还没研究明白

离线

#84 2020-04-21 19:40:04

chxzh123
会员
注册时间: 2020-04-09
累计积分: 3

Re: F1C100S的Keil裸机USB+LCD+PWM+GPIO工程搞定,修复GNU工具链BUG

谢谢分享,跟着大佬多多学习,刚入手NANO

离线

#85 2020-04-29 11:21:01

zhengjieming
会员
注册时间: 2020-01-04
累计积分: 12

Re: F1C100S的Keil裸机USB+LCD+PWM+GPIO工程搞定,修复GNU工具链BUG

真是良心贴,以前每次编译完了都忘记打补丁,有了这个神器就不用那么麻烦了,大大的加快了进度。

离线

#86 2020-04-30 09:33:22

ntmusic
会员
注册时间: 2020-02-24
累计积分: 43

Re: F1C100S的Keil裸机USB+LCD+PWM+GPIO工程搞定,修复GNU工具链BUG

这个GNU...stdio.h里面的功能函数全部要自己实现?还有很多标准函数都是不支持的?移植了一段视觉处理相关算法,纯算法,与硬件无关的也报一堆错,math里的函数也不能用,后来才发现要在设置里启用math库,启用后又报里面的函数__errno未定义,懵了

最近编辑记录 ntmusic (2020-04-30 09:44:43)

离线

#87 2020-05-08 13:55:45

QIANG
会员
注册时间: 2019-11-18
累计积分: 1

Re: F1C100S的Keil裸机USB+LCD+PWM+GPIO工程搞定,修复GNU工具链BUG

谢谢分享,刚入手学习

离线

#88 2020-05-09 15:56:09

gzc1017
会员
注册时间: 2020-05-09
累计积分: 7

Re: F1C100S的Keil裸机USB+LCD+PWM+GPIO工程搞定,修复GNU工具链BUG

正是我需要的 感谢

离线

#89 2020-05-09 18:56:49

lhc200
会员
注册时间: 2020-05-09
累计积分: 8

Re: F1C100S的Keil裸机USB+LCD+PWM+GPIO工程搞定,修复GNU工具链BUG

谢谢共享;

好啊

离线

#90 2020-05-11 08:16:43

zenghaibo
会员
注册时间: 2019-07-15
累计积分: 59

Re: F1C100S的Keil裸机USB+LCD+PWM+GPIO工程搞定,修复GNU工具链BUG

有搞定摄像头裸机驱动的吗?求赐教!

离线

#91 2020-05-11 21:27:04

hoel
会员
注册时间: 2019-06-15
累计积分: 59

Re: F1C100S的Keil裸机USB+LCD+PWM+GPIO工程搞定,修复GNU工具链BUG

你好,
我想从USB读取RTL-SDR设备,有人知道Keil是否可能?

离线

#92 2020-05-12 10:05:19

虾兵蟹将
会员
注册时间: 2020-04-24
累计积分: 7

Re: F1C100S的Keil裸机USB+LCD+PWM+GPIO工程搞定,修复GNU工具链BUG

牛,先占个位置。慢慢消化。

离线

#93 2020-05-14 10:29:49

jxcclij
会员
注册时间: 2020-04-02
累计积分: 4

Re: F1C100S的Keil裸机USB+LCD+PWM+GPIO工程搞定,修复GNU工具链BUG

跟着大佬多多学习,刚入手NANO

离线

#94 2020-05-15 23:16:58

kq851211
会员
注册时间: 2020-05-01
累计积分: 45

Re: F1C100S的Keil裸机USB+LCD+PWM+GPIO工程搞定,修复GNU工具链BUG

用了楼主的中间件,怎么跳出这些错误了?
FluxBB bbcode 测试

离线

#95 2020-05-15 23:18:28

kq851211
会员
注册时间: 2020-05-01
累计积分: 45

Re: F1C100S的Keil裸机USB+LCD+PWM+GPIO工程搞定,修复GNU工具链BUG

我的keil版本里是没有这些文件。楼主的中间件跟keil的版本挂钩?

离线

#96 2020-05-16 11:39:01

kq851211
会员
注册时间: 2020-05-01
累计积分: 45

Re: F1C100S的Keil裸机USB+LCD+PWM+GPIO工程搞定,修复GNU工具链BUG

发现GNU工具链在链接时候的出错是由于f1c100s.ld文件里的路径有问题,在Objects前加./ 就可以链接成功了
FluxBB bbcode 测试

离线

#97 2020-05-17 22:33:38

tiandiyixian20
会员
注册时间: 2020-05-17
累计积分: 10

Re: F1C100S的Keil裸机USB+LCD+PWM+GPIO工程搞定,修复GNU工具链BUG

厉害了,这个移植成功可比单片机强多了,可以直接视频解码,稳定不?

离线

#98 2020-05-20 09:00:52

goodluckyou
会员
注册时间: 2020-05-20
累计积分: 3

Re: F1C100S的Keil裸机USB+LCD+PWM+GPIO工程搞定,修复GNU工具链BUG

先mark一下。谢谢分享了

离线

#99 2020-05-20 09:22:22

微凉VeiLiang
会员
注册时间: 2018-10-28
累计积分: 345
个人网站

Re: F1C100S的Keil裸机USB+LCD+PWM+GPIO工程搞定,修复GNU工具链BUG

zenghaibo 说:

有搞定摄像头裸机驱动的吗?求赐教!

不难,裸机摄像头

离线

#100 2020-05-24 23:22:09

1412223044
会员
注册时间: 2020-05-24
累计积分: 1

Re: F1C100S的Keil裸机USB+LCD+PWM+GPIO工程搞定,修复GNU工具链BUG

mdk工程?设备型号选什么,有没有提供工程

离线

#101 2020-05-26 22:30:10

shenbk
会员
注册时间: 2019-01-11
累计积分: 9

Re: F1C100S的Keil裸机USB+LCD+PWM+GPIO工程搞定,修复GNU工具链BUG

目前裸机的驱动主要是缺音频这块,不知道现在有没有?

离线

#102 2020-06-09 17:16:45

xxing532
会员
注册时间: 2020-06-09
累计积分: 1

Re: F1C100S的Keil裸机USB+LCD+PWM+GPIO工程搞定,修复GNU工具链BUG

想入坑,以前玩的单片机,没玩过linux,你们都裸奔还是跑linux

离线

#103 2020-06-30 21:43:52

知名企业家黄鹤
会员
注册时间: 2019-09-30
累计积分: 4

Re: F1C100S的Keil裸机USB+LCD+PWM+GPIO工程搞定,修复GNU工具链BUG

第N回下载了,又把之前的搞废了.争取这次写个"Hello world"出来>_>

离线

#104 2020-07-02 20:18:43

逗倪豌儿
会员
注册时间: 2020-06-09
累计积分: 18

Re: F1C100S的Keil裸机USB+LCD+PWM+GPIO工程搞定,修复GNU工具链BUG

相当优秀!楼主可以试试rt thread

离线

#105 2020-07-03 10:13:32

zhangjink
会员
注册时间: 2020-07-02
累计积分: 3

Re: F1C100S的Keil裸机USB+LCD+PWM+GPIO工程搞定,修复GNU工具链BUG

赞,又可以用熟悉的keil折腾了,谢谢楼主!

离线

#106 2020-07-03 14:23:53

star.water
会员
注册时间: 2020-07-03
累计积分: 3

Re: F1C100S的Keil裸机USB+LCD+PWM+GPIO工程搞定,修复GNU工具链BUG

准备用Keil跑一下F1C100s

离线

#107 2020-07-04 20:58:20

ghosoft
会员
注册时间: 2020-02-16
累计积分: 8

Re: F1C100S的Keil裸机USB+LCD+PWM+GPIO工程搞定,修复GNU工具链BUG

大佬能不能放一个linux下的版本

离线

#108 2020-07-05 12:40:31

lxp198205
会员
注册时间: 2020-07-03
累计积分: 2

Re: F1C100S的Keil裸机USB+LCD+PWM+GPIO工程搞定,修复GNU工具链BUG

想用来做一个视频解码,简单真不想跑系统,裸机就完全够了

离线

#109 2020-07-06 10:18:05

jackyhuang
会员
注册时间: 2018-12-06
累计积分: 3

Re: F1C100S的Keil裸机USB+LCD+PWM+GPIO工程搞定,修复GNU工具链BUG

这个芯片基本用来做视频解码的,如果能跑起这个就厉害了

离线

#110 2020-07-09 15:16:37

lun
会员
注册时间: 2020-07-09
累计积分: 2

Re: F1C100S的Keil裸机USB+LCD+PWM+GPIO工程搞定,修复GNU工具链BUG

为什么我的F1C100S没有驱动?

离线

#111 2020-07-09 15:33:51

异乡是故乡
会员
注册时间: 2019-11-15
累计积分: 65

Re: F1C100S的Keil裸机USB+LCD+PWM+GPIO工程搞定,修复GNU工具链BUG

lun 说:

为什么我的F1C100S没有驱动?

你想怎么驱动?

离线

#112 2020-07-10 16:30:38

如意如意
会员
注册时间: 2020-07-10
累计积分: 17

Re: F1C100S的Keil裸机USB+LCD+PWM+GPIO工程搞定,修复GNU工具链BUG

太厉害了,楼主,小白刚入门感觉一头雾水,先尝试点亮屏幕再说吧

离线

#113 2020-07-15 08:52:05

ccheng-ppppp
会员
注册时间: 2020-07-15
累计积分: 2

Re: F1C100S的Keil裸机USB+LCD+PWM+GPIO工程搞定,修复GNU工具链BUG

不错 mark  一直想F1C100S在kei下使用

离线

#114 2020-07-15 17:12:01

MyWaKeng
会员
注册时间: 2020-07-14
累计积分: 6

Re: F1C100S的Keil裸机USB+LCD+PWM+GPIO工程搞定,修复GNU工具链BUG

按照楼主的说明,一步步调试好了。非常感谢。

离线

#115 2020-07-16 14:09:13

AYUMI7
会员
注册时间: 2018-11-24
累计积分: 5

Re: F1C100S的Keil裸机USB+LCD+PWM+GPIO工程搞定,修复GNU工具链BUG

看起来不错  手里有个荔枝派的那个 板子  想玩 玩不动  现在又来看看

离线

#116 2020-07-16 15:52:51

AYUMI7
会员
注册时间: 2018-11-24
累计积分: 5

Re: F1C100S的Keil裸机USB+LCD+PWM+GPIO工程搞定,修复GNU工具链BUG

下载了 工程 编译不过去   一个错误  --- Error: failed to execute 'arm-none-eabi-gcc'


现在可以了

Build started: Project: f1c100s
Build target 'Target 1'
compiling main.c...
compiling dma.c...
compiling clk-f1c100s-pll.c...
compiling malloc.c...
compiling printf.c...
compiling fb-f1c100s.c...
compiling gpio-f1c100s.c...
compiling irq_misc.c...
compiling pwm-f1c100s.c...
compiling reset-f1c100s.c...
compiling usb_cdc.c...
compiling usb_hid.c...
assembling start.S...
compiling usb_dev.c...
assembling memcpy.S...
assembling memset.S...
compiling usb_phy.c...
compiling exception.c...
compiling sys-clock.c...
compiling sys-mmu.c...
compiling sys-spi-flash.c...
compiling sys-dram.c...
compiling sys-uart.c...
compiling sys-copyself.c...
linking...
After Build - User command #1: Toolchain\bin\arm-none-eabi-objcopy -O binary  Objects\f1c100s.elf Objects\f1c100s.bin
After Build - User command #2: Tools\mksunxi Objects\f1c100s.bin
".\Objects\f1c100s.elf" - 0 Error(s), 0 Warning(s).
Build Time Elapsed:  00:00:04






下载到板子 用USB 口嘛?

最近编辑记录 AYUMI7 (2020-07-16 16:05:01)

离线

#117 2020-07-18 09:28:24

chaoge131
会员
注册时间: 2020-07-06
累计积分: 1

Re: F1C100S的Keil裸机USB+LCD+PWM+GPIO工程搞定,修复GNU工具链BUG

初次接触全志F1C100S,不想倒腾LINUX,看看楼主的模板。哈哈

离线

#118 2020-07-18 18:04:59

d_rhasta
会员
注册时间: 2020-07-18
累计积分: 3

Re: F1C100S的Keil裸机USB+LCD+PWM+GPIO工程搞定,修复GNU工具链BUG

unknow device ,不能识别。。。

离线

#119 2020-07-18 18:12:13

d_rhasta
会员
注册时间: 2020-07-18
累计积分: 3

Re: F1C100S的Keil裸机USB+LCD+PWM+GPIO工程搞定,修复GNU工具链BUG

学习学习咋用这个片子。

离线

#120 2020-07-20 14:15:34

twxl1993
会员
注册时间: 2020-07-17
累计积分: 2

Re: F1C100S的Keil裸机USB+LCD+PWM+GPIO工程搞定,修复GNU工具链BUG

给大佬递茶,最近在研究全志的f1c芯片,先收藏慢慢观摩

离线

#121 2020-07-20 15:02:55

ycsjtzam
会员
注册时间: 2020-07-20
累计积分: 2

Re: F1C100S的Keil裸机USB+LCD+PWM+GPIO工程搞定,修复GNU工具链BUG

非常厉害,我也准备入手一块板子玩玩

离线

#122 2020-07-23 00:21:15

david
会员
注册时间: 2018-03-05
累计积分: 51

Re: F1C100S的Keil裸机USB+LCD+PWM+GPIO工程搞定,修复GNU工具链BUG

Keil最后运行 .\Tools\sunxi-fel.exe exec 0x80000000  看着都正常,就是板子没反应,还是在SPL里。我用的是没有Flash的 lichee nano,是不是要先烧个bootloader啥的?

离线

#123 2020-07-23 09:09:30

hughhuang
会员
注册时间: 2020-07-23
累计积分: 8

Re: F1C100S的Keil裸机USB+LCD+PWM+GPIO工程搞定,修复GNU工具链BUG

最近入手了F1C200S的板子,感谢楼主的分享,争取早日向楼主看齐。

离线

#124 2020-07-28 09:11:37

Wally
会员
注册时间: 2020-07-15
累计积分: 2

Re: F1C100S的Keil裸机USB+LCD+PWM+GPIO工程搞定,修复GNU工具链BUG

Project -->Manager -->Project Items -->Fold Extention,在该界面右下角的Folder里面输入   .\Toolchain\    这样随便把工程复制到任何路径都不用重新设置编译路径了

离线

#125 2020-07-28 13:18:51

xfdr0805
会员
注册时间: 2020-07-23
累计积分: 24

Re: F1C100S的Keil裸机USB+LCD+PWM+GPIO工程搞定,修复GNU工具链BUG

有没有vscode 版本的,公司禁止使用盗版Keil 防止收到律师涵   之前的to_ascii(\0x41\0x44)已中招

离线

#126 2020-07-28 17:11:31

家猫戏很足
会员
注册时间: 2018-09-16
累计积分: 6

Re: F1C100S的Keil裸机USB+LCD+PWM+GPIO工程搞定,修复GNU工具链BUG

之前荔枝派一直动不起来,就是想要这样的工程,下载下来研究一下

离线

#127 2020-07-28 17:14:37

家猫戏很足
会员
注册时间: 2018-09-16
累计积分: 6

Re: F1C100S的Keil裸机USB+LCD+PWM+GPIO工程搞定,修复GNU工具链BUG

F1C100S这个片子其他接口的程序有吗?

离线

#128 2020-07-28 18:16:50

flyer822
会员
注册时间: 2020-07-28
累计积分: 1

Re: F1C100S的Keil裸机USB+LCD+PWM+GPIO工程搞定,修复GNU工具链BUG

大佬厉害,这是祼跑的吧

离线

#129 2020-07-29 09:30:50

家猫戏很足
会员
注册时间: 2018-09-16
累计积分: 6

Re: F1C100S的Keil裸机USB+LCD+PWM+GPIO工程搞定,修复GNU工具链BUG

Wally 说:

Project -->Manager -->Project Items -->Fold Extention,在该界面右下角的Folder里面输入   .\Toolchain\    这样随便把工程复制到任何路径都不用重新设置编译路径了

嗯,看了老一会回复半天没理解啥意思,这么一设就什么问题没了。。。

离线

#130 2020-08-02 20:54:51

qjb129
会员
注册时间: 2020-07-20
累计积分: 2

Re: F1C100S的Keil裸机USB+LCD+PWM+GPIO工程搞定,修复GNU工具链BUG

谢谢分享!之前荔枝派一直动不起来,就是想要这样的工程,下载下来研究一下

离线

#131 2020-08-06 13:46:44

foreversun
会员
注册时间: 2020-07-01
累计积分: 7

Re: F1C100S的Keil裸机USB+LCD+PWM+GPIO工程搞定,修复GNU工具链BUG

下再进去没有任何反应,不知道咋回事

离线

页脚

工信部备案:粤ICP备20025096号-1 Powered by FluxBB